Tiny fix to make the code compile under g++ 4.6



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@533 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Clean up sparse_indexed_output(...) implementations

Basically just fix it so that we are properly using the class hierarchy to
avoid lots of copy-pasted code.

* Implement variable precision output and bottom right zeroes as a function
  in the base class which calls "sparse_indexed_output_helper(ostream)" to
  do the main output.

* Similarly for output to files rather than ostreams

* Remove lots of unnecessary functions which used to be all copy pasted code

* Rename the remaining DerivedMatrix::sparse_indexed_output(..) functions to
  sparse_indexed_output_helper(...).

* Improve implementation of variable precision:
** Only set the precision once (instead of before every double is output)
** Properly reset the precision afterwards
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