Add Interpolation enumerator to Aggregators that will be read when working
across time series to return the proper value for a given aggregation
function. In some cases, downsampling needs to avoid interpolation so aggs
can now disable interpolation and return either a 0, the max or the min for
a point that doesn't line up.

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add interpolation handling code to SpanGroup

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Unit tests for the various aggregation functions

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Thanks to Kris Beevers for his interpolation patch though we couldn't use it
exactly as it was.
Also thanks to Hirohanin for the ZIMSUM name/patch. Need to get his name and
email for full credit.

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Merge remote branch 'remotes/official/next' into next