Expansion to the utilities provided by Clock

The old methods of returning time could go backwards if the system clock moved backwards.  This pull request provides the ability to get a constantly forward moving time.  It also provides the ability to get a reference of how long the Clock class has been running (that way if you load Clock at the start of the application, you can easily know how long the application has been running).

The old functionality has not changed, and has no additional load implications.  Instead this forward only design lazily updates it self if it finds that it is too inaccurate.  Thus putting the extra burden on those calls.

Because those calls have more burden I have not decided exactly how this fits into solving #109, but it at least provides us a foundation and starting point (without compromising anything we currently have).

I will benchmark this new functionality before moving the threadly usage to these new calls, but since there is no impact in the old calls, I figured it would be good to offer the option for our users.