Move plot into MPLFitter; support style args; improve docstrings.

The class heirarchy is now `BaseFitter` -> `MPLFitter` -> `NotebookFitter`. `BaseFitter` contains no plotting facilities. `MPLFitter` is simple elaboration, adding an implementation of `plot()` and accepting a set of style args specific to matplotlib.

I largely followed the suggestions of @tritemio. (Thanks for that code snippet.) I accept style args in `NotebookFitter()` and `MPLFitter()` and also directly in `plot()`, which takes precedence. `plot()` also accepts an optional `Axes` object, which can be accessed for further customization (but, of course, not while operating inside the widget).

I also added an optional `all_models` kwargs to `NotebookFitter` that overrides the auto-detected list of `Model` subclasses, as requested.

And, finally, docstrings for everyone!