Query: Added check for filters to make sure they're the right type before instantiating.
Merged tabular data web services for tasks.

Previously there were two services: `hist`, which always returned
intrinsic histogram data, and `cats`, which always returned
extrinsic bar (categories) data. But that fails for datasets that
are intrinsically categorical.

The new web service is `table`, and it returns either a histogram
or a bar chart depending on the nature of the data.
Categorical bucket bounds no longer have epsilon built-in.

Now the range is exactly the value being stored in the bucket -
but the bucket will report that it can contain values that are not
quite equal but very close.