Guava cleanup

This is a first step in removing our usage of guava (#288). I've removed the easy bits in this PR. This is a work in progress but I think it's going to be easier to merge now, and continue with additional pull requests.

An unsolved problem is how to tackle the guava classes that are exposed in the public API:

* AtomicDouble in DoubleGauge
* Function in MetricTransformObserver and the Contextual Monitors.
* Cache in Monitors.newCacheMonitor


Was it intentional to add the monitors list to the toString output? That seems redundant with the count, min, and max fields already there.