Implement numeric_histogram aggregation function

This is a function for computing approximate histograms based loosely on

    Yael Ben-Haim and Elad Tom-Tov, "A streaming parallel decision tree algorithm",
    J. Machine Learning Research 11 (2010), pp. 849--872.

It supports the following signatures:

- numeric_histogram(bigint buckets, double value, double weight) -> map<double,double>
- numeric_histogram(bigint buckets, double value) -> map<double,double>

The second variant is a shorthand for weight = 1
These three lines always appear together.  I would hide the queue creation in the `mergeEntries` method, and I would consider adding the store code, or maybe add method that calls `store(mergeEntries(values, weights, nextIndex))`