Add --max-width option for formatting timing output

This option required some reworking of the Timer class's implementation.
It was easier to separate the reoprt_time() function into one that reports
all runs, plus perhaps the average, and one that reports only the average.
Putting it in one function was attempted, but required so many conditionals
that it became very messy.
With two functions, only one (the one reporting all runs) need worry about
the width (working under the assumption that there is enough width for at least
one column), and that is the one that reports all runs.
That function now keeps track of the running sum of the three times, instead
of print_line().  It uses print_line() to print only a subset of the tests -
those that will fit on a single line.  When on the last line, it then prints
the average, if that has been set.