Modify set rollups to track individual items seen instead of counters.

This is done by hashing each object as it observed, and storing the hashes.  hashes are then merged on rollup.

This puts SetRollup in the same class as TimerRollup in that full-resolution stores rollup objects rather than primitives.
Merge branch 'master' into set_rollups_v2
use getHashes() instead of accessing hash directly.
update changes
Merge pull request #203 from gdusbabek/set_rollups_v2

Set rollups v2 - track individual items across rollups (up to 24h)
Simplify slotFromFinerSlot computation
Fix NPE when updating a coarser slot's stamp; Typo fixes
Add a log statement
Merge pull request #209 from lakshmi-kannan/bf_fix_slot_stamp_npe

Fix NPE when updating a coarser slot's state
Add histogram rollup merge tests; Fix method names
Merge pull request #210 from lakshmi-kannan/bf_histogram_rollup_fixes

Add histogram rollup merge tests; Fix method names
Refactor QueryStringDecoderAndRouter
Merge pull request #211 from chinmay-gupte/chinmay/refactor_QueryStringDecoderAndRouter

Refactor QueryStringDecoderAndRouter.
rename timer.count_ps -> timer.rate.  That's what it is after all.
Merge pull request #213 from gdusbabek/timer_count_ps_rename

Rename TimerRollup.count_ps to TimerRollup.rate.
add a test case illustrating real-life issues with granularityFromPointsInInterval
improve granularityFromPointsInInterval algorithm
update existing granularity unit tests
add multiple numPoints selection methods
short circuit when we have found the closest numPoints