Add some humanistic logic to test time precision.

Precision should really be a function of the number of tests and time. A
small number of tests with a long time, does not warrant a high
precision. However, if you had 8,000 tests (think JPL code) you would
care about a higher precision, even if your test suite ran for 4
minutes.

Since the code that does the formatting does not know about the number
of tests, the following is a rough middle ground, which is completely
arbitrary based on how I felt and not on any real science.

  * <   1 seconds: Give me all the precisions
  * < 120 seconds: Hundredths of a second are good
  * < 300 seconds: Tenths of a second, because I just can't give em up
  * > 300 seconds: Seconds, because you can't wait this long anyways

[Close #807]