Add asserts for "same sign" and "same order of magnitude"
Add functions to convert symbolic expressions to the pyhton functions we need
Add explicit time stepping (and some other little bits)

* Add general ibdf residual

* Add basic explicit time stepping
  (unstable for most of the steppers..)

  and test.

* Some renames in newton solve

* Rename emr -> ebdf2 (emr is only one case of ebdf2)

* Add function to create a randomly varying time adaptor
  Within reasonable limits, so it's actually useful!
Add tests for lte expressions

Unfortunately not very accurate because they are just estimates up to
O(dtn**4) with an unknown coefficient...
Rename emr -> ebdf2 (because that's what it is really)

emr is just a special case
Rename midpoint method -> implicit midpoint rule (imr)

* Consistent with acronyms used for other time steppers

* Consistent with what other people call it
Rename order -> n_start in higher_order_start functions
Make order of (ts, ys, ..) same in all function inputs/outputs

* ys, ts -> ts, ys in odeint output
* Also in _odeint input
* Also in higher_order_start functions input/output