Associated TTLs with Column Families instead of Granularity.

* This only caused a problem with the Account interface in TtlCache, which probably needs to be rethought anyway.
* Introduce MetricColumnFamily that contains a default TTL.
* Get all the TTL stuff out of Granularity.  woo.
Merge pull request #142 from gdusbabek/associated_default_ttl_with_CF

Associate TTLs with Column Families instead of Granularity.
ThreadPoolBuilder: do not use a shared work queue.
create a subclass that wraps a guage that tracks worker queue size.
Add ShardStateServices to core (copy exists in blueflood-udp, will be removed in next commit)
Use bf-core version of ShardStateServices.
cleanup imports
Bugfix in ShardStateServices
* was not getting started properly.
Break InstrumentedThreadPoolBuilder out into its own class
expose keepalive time in ThreadPoolBuilder.
Use instrumented threadpools throughout.
make a few things public in `RollupService` and `ScheduleContext`.
Make Locator hashable

...by implementing `hashCode` and `equals`.
Merge pull request #145 from gdusbabek/move_shardstatemanager_into_core

Move shardstatemanager into core
null check in Locator.equals
Merge pull request #147 from gdusbabek/hashable_locators

Make Locator hashable
Merge pull request #146 from gdusbabek/make_a_few_things_public_in_rollupservice_and_schedulecontext

make a few things public in `RollupService` and `ScheduleContext`.
add and expose preaggregated column familes.
Change NumericSerializer interface to expect class type instead of a column family
Merge pull request #144 from gdusbabek/tp_builder_reusable

Make ThreadPoolBuilder reusable.