Set things up to implement HTTP query for preaggregates

* expose a method in `NumericSerializer`
* fix `hasData()` bugs in (see https://github.com/rackerlabs/blueflood/issues/229)
* `NUMERIC` marker data type to indicate non-string + non-boolean.
* expose type of contents in `Points`.
* treat empty the same as null in `RollupType.fromString()`
log errors in `HttpRollupsQueryHandler`
reader reads from proper CF during rollup by ascertaining rollup type.
Handle the new rollup types properly on query

PlotRequestParser - Have a set of defaults for each rollup type, and a special marker set that indicates the default set should be used.
RollupHandler - Use generic `Points` instances and a utility method to compute `Points`->`Rollup`.
BasicRollupsOutputSerializer - add stats for various other fields, extract by rollup type (some extractions are invalid).
JSONBasicRollupsOutputSerializer - convert general default filter to type-specific default filter. add `toJSON()` conversion cases for the new types. make `getFilteredStatesForRollup` a moar generic.
Merge branch 'master' into aggregate_query
flatten the percentiles dictionary for timers.
count needs to be set when there is a latest value.
tests for JSON serialization of new rollup types.
Merge branch 'master' into aggregate_query
get rid of DataType.NUMERIC.
change back to where `hasData()` uses `sampleCount`.
Merge pull request #234 from gdusbabek/aggregate_query

HTTP query for new rollup types.