Query: Implemented histogram bucketing as a Foldable class.
Query: Split stats classes into scalar and vector types.

It's better this way, because now it's easier to compose results
in different ways - e.g. a vector Histogram can view its stats
objects by bucket *or* by component. This will eventually allow
the user to ask for a vector of stats objects for a given bucket.
Query: Converted histogram class to use buckets objects.

This way, users of the Hist class can easily tell the upper and
lower bounds of each bucket.