Adjust ThreadPoolBuilder to create a new work queue per `build()` call.
Allow multiple cass nodes to be specified for plugin
Merge pull request #105 from lakshmi-kannan/bf_agent_plugin_allow_list_of_cass

Allow multiple cass nodes to be specified for plugin
try to use AbstractSerializer references.
Stoping point for Timer metrics: introduce TimerMetric and serialization changes required for support.

* Replace `NumericSerializer.get` with `serializerFor`. The idea is to get a serializer based on what you are serializing, instead of the column family you are serializing from.  This has some nice side-effects (when you know what you are serializing) and some bad ones (when you don't know what you're serializing).  There are still a few places where support for this is rough (serializer is derived from granularity instead of CF).  Those will need to be addressed later.
* This basically refactored `NumericSerializer` into an static aggregate of different `AbstractSerializer` implementations.
  * make a few methods static.
  * concept of unversioned serialized longs/doubles.
  * stub in serializer spots for gauge, set and counter. These may not be needed.
* Introduce `CF_METRICS_PREAGGREGATED` in `AstyanaxIO`.
* Introduce `IBasicRollup` so that a few utility methods can do similar things to `BasicRollup` and `TimerRollup`. The latter could not extend the former due to some problems wrt serialization.
* Locator has hashCode derived from string representation.
* `TimerRollup` modified to
  * not extend `BasicRollup`.
  * use a builder-ish approach to construction
  * be type-flexible for the percentiles.
  * introduce `Percentile` class (might be bad to keep here).
Merge branch 'gdusbabek' into statsd_integration