[WIP] Kdodia/plots

This PR sets up a basic pattern for creating visualizations.

`plot.py` defines two functions that subclasses of PlotManager should implement: `update_source()` and `create_and_store()`. It also contains an artisanal function `push_to_server()` which minimally loads a ColumnDataSource (keyed off the document name and object id), updates the backing data, and pushes it back to the server.

`harvest.py` is a first-level subclass that demonstrates an implementation.
`harvest_rate.py` subclasses the above, overriding only `create_and_store`.

Todo:

 - [ ] docstrings
 - [ ] factor out the plot generation from `create_and_store`
 - [ ] refactor other plots to follow this model
 - [ ] add hooks in views.py