Fix a stupid bug in adaptive BDF2

I was calculating y'_{n+1} instead of y'_n in one place by accidentally
using the wrong input values.
Small tidy ups

* Fix it so tha "method order" means what it says in scale_timestep

* Documentation

* More direct calculation in bdf2_dydt