statsd / graphite integration.

### Getting blueflood-core ready for statsd / graphite stuff

* NumericSerializer
  * replaced `get(cf)` with `serializerFor(Class)`
  * added new types for each rollup type
  * added unversioned Double/Long serialization methods
* RollupRunnable
  * added support to rollup any metric type by
  * pushing column family resolution down (not part of LocatorFetchRunnable)
  * created an integration test to test normal and preaggregated rollups
  * `RollupContext` no longer cares about column families (only source granularity)
* ThreadPoolBuilder - fixed a bug that allows one instance to be used over and over.
* AstyanaxIO - made CF instances public
* AstyanaxReader
  * `getAllMetadata` method
  * `getTimerDataToRoll`
  * `getDataToRoll` can be used to get any type of data including full-resolution
* AstyanaxWriter
  * `insertMetrics` can be used to insert any kind of metric data
* `ShardStateServices` - moved from udp- to core- module.
* `IBasicRollup` interface - to make TimerRollup easier to implement
* `AbstractRollupStat` implementations use `AbstractRollupStat` references instead of child class references
* More rollup types
  * CounterRollup, SetRollup, TimerRollu, GaugeRollup
  * All except for TimerRollup extend SingleValueRollup
  * Rollup computer methods in `Rollup`.
  * `toString()` methods for each Rollup implementation
* Locator - added `hashCode` and `equals` so it can be used in collections
* Draw `IMetric` interface out of `Metric`. Create `PreaggregatedMetric`
* `StatType` gets saved in metadata cache on ingestion.
  * Used to determine how to roll data up.
* Fix computation bugs in `Variance`. `toString` and `equals` must force value resolution.

### Statsd / graphite stuff

* `DataTool` useful for fetching values, metadata and locators.
* `DoesStuff` sends stuff to a statsd instance (for testing)
  * Uses a hacky statsd client to send things.
* `CarbonCompatibleIngest` mimics a graphite ingestion endpoint.
  * statsd can be configured to push data into it.
  * stat lines get parsed into stat objects
  * timers are special and must be grouped together
  * use the metric/stat name to infer the type (counter, set, timer, gauge)