* Change the way fits are stored in the resonator object. *This slightly breaks backwards compatibility.*
Results that used to live at `Resonator.lmfit_result` or `Resonator.emcee_result` now live at
`Resonator.lmfit_result['default']['result']` and `Resonator.emcee_result['default']['result']`. This allows the user to store
multiple fit results for the same resonator by specifying a label for the fit (as opposed to using the
`'default'` label).
* Update dependency on matplotlib to be >= 2.0
* Fix minus-sign error in cmplxIQ fit function and params guessing (each had one error, was cancelling)
* Add a burn_flatchain method to each resonator to allow burning off some samples from the mcmc analysis
* Add a function to ESL_tools to read in binary fits files coming out of ESL
* Add a mask option to process_file to allow for masking data via a slice object
* Change under the hood to how fitting works for Resonator objects (and eventually to ResonatorSweep data as well).
Now instead of being forced into fitting only I/Q data, fit functions take a Resonator object as an argument.
This gives the fit function author access to all of the attributes and data stored in the object.
* Update the complxIQ fit function to calculate not just the model, but the baseline, or even the model without the baseline.
* Allow the user to pass a frequency vector to cmplxIQ to specify which frequency points to calculate the model at.
* Fix a small bug in plot kwargs checking introduced during update to Python 3.