- added aggregation (AggegatingQueryCallback) in addition to (distinct from) downsampling
   (ResamplingQueryCallback) and callback handler to perform both (ComplexQueryCallback)
- changed threading to allow more concurrent query threads
- added results cache for index keys and datapoints