Update SimulateOptions to be properly a Dictionary.
Introduce IntegratorFactory to create integrators and provide lists of options.
Integrators are now also properly Dictionaries.
Update python bindings to treat all dictionaries uniformly.
Update code to deal with interface changes.
Update docs.