s/histogram/bin/g (and others), rework binning code

What I was calling a histogram is actually just simple data binning,
where each bin contains multiple rollups of the data in the bin. Thus
the variables & methods have been renamed.

I didn't mean to bundle these two big changes but I forgot to commit
last night and didn't realize it until I looked at git diff just now.

The binning code is now more reliable. Rather than trying to fill the
final bin partially and aggregating that, the bin size function creates
evenly sized bins up to (records % (bin_count * bin_width)) and discards
modulus records at the end of the input data. This should usually be a
small number of records for small bin counts, which are all I'm dealing
with right now.