prog01 illustrates various means to store an array, methods of indexing,
inner product computations, and the sort function.  The arrays a and b
are allocated on the stack.

prog02 is the same as prog01 except that the arrays a and b are
allocated on the heap.  Memory allocation failure is handled with
traditional error handling methods.  As n is increased, prog01 will fail
to run sooner than prog02

prog03 is the same as prog02 with the sort illustration removed and the
time function used to time the speed of an inner product.  Exception
handling is used to deal with memory exhaustion.  

prog04 is the same as prog03 with the clock function used to time the
speed of an inner product.

prog05 is the same as prog03 with the gettimeofday function used to time
the speed of an inner product, which is exasperating.

prog06 is the same as prog03 with stopwatch from libscl used to time the
speed of an inner product, which is not exasperating.

prog07 times various ways to allocate and write to a std::vector.

prog08 tests the difference between the use of a while loop and using 
transform and accumulate from algorithm.  This is a forward reference
because algorithm and transform are discussed in Chapter 6.
