Add a midpoint method implementation with a self test
Switch to using my assert header
Fix an accidentally uncommented OOMPH_CURRENT_FUNCTION
Hide and error due to weirdness in oomph-lib's timestepper class

Seems like ndt() MUST be equal to nprev_values() otherwise a typical
set_initial_conditions() function will go wrong! (see e.g. unsteady heat --
previous values are initialised from the exact solution using times
calculated using previous dt values (see the Time::time(t) function), if
ndt() < nprev_values() then the dt values are out of range).
Add a "fudge factor" to multiply errors by in midpoint method

Because it seems to naturally have a much larger error estimate than eg
BDF2 for similar real errors.
Tidy unsteady_heat_example and add multiple runs to midpoint test

* Run midpoint test with both BDF2 and midpoint then plot both

* Properly encapsulate the exact solution in unsteady heat example

* Probably some other things... this got a bit messy
Add test binaries to gitignore
Add a new experiment for testing midpoint on LLG