Changed formula used for midpoint LTE

* See notes from 21/2/13 for details.
  Essentially just changed the point about which we Taylor expand.

* Removed test_local_truncation_error for midpoint
  Because the test function is not compatable with using values at the
  midpoint.

* Include nsteps in total error tolerance used in adaptivity test
  Gives a more general error check--e.g. works for larger tmax.
  Also increased the "fudge factor" to 10.

* Improve notation:
** Replace ydot -> dy etc.
** Replace yn -> y_n etc.
** Replace y_nphalf -> y_nph etc.
** Still need to check consistency sometime

* Make ab2 test harder (vary time step sizes by more)
Various maths fixes in ode.py.

Fixed minus sign in midpoint ab error estimator.

Removed an impossible calculations in midpoint ab error estimator.

Also tidy up test residuals in ode.py.