ODE Steppers
We will probably use the C++ library odeint rather than trying to piece together various different Fortran libraries. It is now part of Boost, so we know it's of reasonable quality. This also gives the option of being able to implement our own, more advanced, steppers at a later stage.
For now, we should probably have a couple of adaptative Runge-Kutta type methods and a Crank-Nicolson to choose from. The user should be able to easily select and tune their stepper of choice.
Note that the actual equation that will be solved is given by tkwant, so we don't need or want to implement a general Python interface to odeint, we essentially just need a way of constructing a solver that conforms to the odeint interface.