Fix for self tests with automake versions > 1.13

If we have automake version more recent than 1.13 then the default is to
use the new parallel self test harness which doesn't work with
parallel_self_tests.py (and doesn't actually run tests in parallel without
a major rewrite of all Makefile.am s). So we need to disable it. However
the command to disable the new test harness was only introduced in version
1.12 which is still very new!

Additionally autoconf has no way of checking version numbers etc. so we
can't implement a conditional option to automake there.

So it looks like the only way around this for now is to modify configure.ac
in regenerate_config_files.sh if the automake version is greater than
1.12. Since the only (approved) way to generate configure.ac is using this
script it should be safe.
Clean up of some of my (David) code in oomph-lib core

* Move interpolator.h to generic.

* Clean up comments in interpolator.h.

* Add ability to interpolate time and space derivative of values
  (i.e. d2v/dxdt).

* Move some large functions from midpoint_method.h and poly_interp.h to .cc
  files.

* Clean up comments and add paranoid checks in poly_interp.h.
Add a function to get the (unmangled) type name of an object as a string
Additional capabilities for interpolator class

* Can optionally set the timestepper to be used

* Store local position

* Needed to make nprev_values_for_value_at_evaluation_time() const
Fix bug in parallel_self_test.py where specified number of cores was ignored

and slightly improve comments and layout
Move undo_make_steady up into Timestepper base

* Avoids duplicate code - all implementations did the same thing

* Virtual so still easy to overload if needed

* Also very slightly increased tol in fpdiff in axisym_navier_stokes/torus
  Not sure if this is related to this change but it was needed to make the
  test pass on my machine. Changed zero from 1e-12 -> 1.1e-12 .
Add paranoid check for empty matrix when running SuperLu

Otherwise we get a segfault inside SuperLu, with no easy way to find out
what went wrong.
Make vector time_derivative calc use individual time_derivative function

Cleaner code and easier to overload.

Also fixed some comments.
Add new demo driver binaries and generated headers to gitignore
Very slightly increased tol in fpdiff in axisym_navier_stokes/torus

Not sure if this is related to my changes but it was needed to make the
test pass on my machine. Changed zero from 1e-12 -> 1.5e-12 .
Initial commit of explicit timestep predictor work

* Idea is to be able to use a (higher order) explicit time stepper to
  estimate the local trunction error for time adaptivity.

* Working test in demo_drivers/unsteady_heat/two_d_unsteady_heat_midpoint
Initial commit of script to check makefiles' subdir variable
Combine rebuild_global_mesh() and merge_meshes() functions

They were copy pasted from each other so might as well be one function for
consistency.
Allow multiple meshes and clean up in copy_dof_pt_to_data_history_value(...)
Improve check-makefile-subdirs.py

* Better formatted output

* Smarter input

* Use function from parallel_self_test.py
Fix memory leak: delete predictor_pt in midpoint destructor
Add safe global_to_node lookup in SumOfMatrices code

* Rename old method to unsafe_...

* Safe version is better for normal use (throws error on failure) but unsafe
  (return -1 on failure) is needed for some things.
Add support for face elements in interpolator class
Clean up and add error check in SumOfMatrices
Force builds of iterative solvers for SumOfMatrices