Refactor: FrequencyExperimenter accepts and produces only DataFrame

Previously, the FrequencyExperimenter wouldn't work on DataFrame objects
produced by new-style indexers, and didn't produce a DataFrame compatible
with that column-label system. Now it does both of those things. And I
basically rewrote the whole thing too.

Related to #281
NEW: 'column' Setting in barchart.RBarChart

Previously, the DataFrame used to have to have a 'freq' column, but now it
can be anything and RBarChart just renames it.
Minor cleanup inspired by (and to inspire) pylint