Fix mixed support for initial state and history
If a user was using ModelicaMixin and PIMixin, the initial state values from ModelicaMixin were skipped. We have to be sure to always call the respective super() methods, to get the combination of data provided by classes that implement initial_state(), and classes that implement history().
To not end up in an infinite loop due to OptimizationProblem's default implementations of these two methods referring to each other, we use a loop break.
Note that this means we can also get rid of the initial_state() implementation of PIMixin. This functionality is provided properly by a deferral to history() via OptimizationProblem.
Closes #1110 (closed)
Edited by Tjerk Vreeken