Reported times are now more accurate

Fixes Issue #47 .  PesterState object now maintains a running Stopwatch, and whenever a test result is added,
it bases the reported time for that test on the elapsed time since the last report, instead of only measuring
the time taken for the execution of each "It" block (and ignoring all the time spent in Context and Describe).

This does have the effect of slightly inflating the reported time spent on the very first test of each Describe
or Context block, since that's the one that winds up eating the overhead of setting up and tearing down scopes,
mocks, test drives, etc, but this is still preferable to having the entire test suite report that it's running
in a fraction of a second, even though anyone paying the slightest bit of attention can see that it's taking
10-20 times that long to finish all the tests.