==================
* BLD: Basic pytest testing added in `./tests`
* BLD: Travis CI configured with flake8, mypy and basic pytest testing.
* ENH: `simenv.Models` now supports storing arbitrary data to disk. Data storing methods can be registered to `Models._disk_store_utility` during class initialization.
* BUG: `controllers.ModelPredCHP`: Critical bug resolved, causing the modelpredictive control to optimize over the total kumulative heat demand instead of the expected kumulative heat demand.
* BUG: `controllers.ModelPredCHP`: Critical bug resolved, causing the modelpredictive control to not increase the optimization step counter when the emergency control hits, cause a delay in the profile slices used for optimization.
* ENH: `controllers.ModelPredCHP._tes_heat_content`: TES energy content calculation refactored.
* ENH: `controllers.ModelPredCHP._longterm_clip_w_cont`: Long-term optimizer continuity enhanced to treat current step result depending on last step's result.
* ENH: `controllers.ModelPredCHP`: Emergency CHP activation implemented as a two-level control: If the PV falls below setpoint, a mixed mode is activated. This is a 50:50 compound of full power and electricity profile optimized control. If the PV falls below the setpoint minus an additional threshold, the CHP plant goes into full power operation.
* ENH: `controllers.ModelPredCHP._adapt_cap`: Upper and lower TES capacities used for estimating the remaining capacity before full/empty are adapted each time the emergency control hits.
* ENH: `controllers.ModelPredCHP._restore_adptd_caps`: Adapted capacities are slowly restored to initial values of a given timeframe, default 24h.
* ENH: `controllers.ModelPredCHP`: Adaption and restoring of TES capacities is performed only emergency control was active recently and/or the capacities have not been fully restored.
* ENH: `controllers.ModelPredCHP`: Modelpredictive optimization results can now be stored on disk.
* ENH: `controllers.ModelPredCHP._longterm_clip_array`: Method added to clip longterm optimization results to modulation range for TES SOC checking.
* ENH: `controllers.ModelPredCHP._longterm_adj_by_soc`: For badly scaled CHP plants, optimization may yield false results (f.i. CHP P_el is much larger than the required power, thus modulation is set to values <.5). In these cases, longterm optimization results are adjusted by the predicted SOC.
* ENH: `controllers.ModelPredCHP`: Major refactoring of the methods. There is still a massive potential for further refactoring, removing deprecated/commented code, breakpoints etc...