Make it easier to capture durations.

Use an object to time things, rather than making System.nanoTime part of our API.
If something more granular ever appears, we can use it.

Allow timing of events in gauges too, this is useful in batch jobs.
Expand PushGateway docs.

Add some files missed in the previous DoubleAdder pull request.
Make javadoc run have no warnings for simpleclient.
Merge pull request #51 from brian-brazil/timing

Make it easier to capture durations.