Adaptive time integration improvements

Refactored ode.odeint(...) -- cleaner and better support for adaptivity.

Fixed bdf2 adaptivity (I was using incorrect weights for varying timestep).

Added a minimum dt rescaling before the step is retried (untested, probably
needs work).

Fixed llg testing imports and updated to work with ode.py changes.