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.

Need an extra point before starting adaptive bdf2 because of this.

Had to modify a test to get the extra point.
Small tidy ups

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

* Documentation

* More direct calculation in bdf2_dydt