[WIP] Next query 2

**Not ready to be merged**

This branch tries to extract the store specific parts of `net.opentsdb.core.TsdbQuery` and put them into the different store implementations and then implement a generalized interface on `net.opentsdb.storage.TsdbStore` and `net.opentsdb.core.TSDB` to execute queries.

My goal is to get the stores to expose the raw data in an asynchronous manner and let the other involved classes handle the rest such as interpolation and aggregation.
Is this right? All objects are always equal?