resolved merge conflict
expansive reorganization of iterators with several changes:
- iterator_base is not anymore responsible for checking if the end is reached
- State as additional template argument to allow for ranges or pairs as state types (e.g. for symplectic steppers) -- introduces const correctness to the iterators
- iteration does not lead to an integration beyond the end time anymore
- const_step_integrators now behave like integrate_const in terms of calculating the time
ToDo: unit tests for adaptive iterators, implement more integrate functions with iterators
changed the adaptive iterators implementation to account for the new interface (additional State template parameter)
also, adaptive integrators now behave just like the integrate_adaptive routines, e.g. ending exactly at t_end by adjusting step size.
tests for the adaptive integrators pass.
restructured integrators to write the algorithms only once, introducing a tag to identify state and state-time iterators
restructured also adaptive iterator to not write algorithms two times - changed some internal behavior in adaptive iterator (copies state on iteration)
delete obsolete iterator_time base class
use iterator for integrate_const with dense_output stepper
some cosmetics
integrate_adaptive changed to using iterators
+missing adaptive iterator implementation
added n_step_iterator + tests
changed integrate_n_steps to use iterator
added times_iterator with tests
added the last missing iterator (times_time_iterator)
another todo...
all integrate routines now based on iterators
deleted unnecessary code segments
removing counter class, it is nowhere used
avoid copy of state for dense out iterators
obs_caller refactored