In parallel_self_test.py write make output to file "make_check_output"

Instead of dumping it to /dev/null. Useful if make failures are not
reproducible for some weird reason.
In parallel_self_test.py always get the absolute path (less error prone)
Add function to doc all the command line flags (in oomph_utilities)
Fix a bug where oomph_flapack was not correctly linking to libgfortran

* Error messages were something like:

undefined reference to `_gfortran_pow_i4_i4'
/home/david/oomph-lib/build/lib/liboomph_flapack.so: undefined reference to `_gfortran_transfer_integer_write'
/home/david/oomph-lib/build/lib/liboomph_hsl.so: undefined reference to `_gfortran_transfer_character_write'
/home/david/oomph-lib/build/lib/liboomph_flapack.so: undefined reference to `_gfortran_compare_string'
/home/david/oomph-lib/build/lib/liboomph_hsl.so: undefined reference to `_gfortran_st_write_done'
/home/david/oomph-lib/build/lib/liboomph_flapack.so: undefined reference to `_gfortran_concat_string'
/home/david/oomph-lib/build/lib/liboomph_hsl.so: undefined reference to `_gfortran_stop_string'
/home/david/oomph-lib/build/lib/liboomph_hsl.so: undefined reference to `_gfortran_st_write'

  from every demo driver.

* The problem was that the link command in the Makefile for oomph_flapack
  uses the C++ linker (CXXLINK). This would be ok if the -lgfortran flag
  was added to the command, but it wasn't.

* Fixed by add -lgfortran to the variable liboomph_flapack_la_LIBADD in the
  Makefile.am.
Move Predictor_storage_index into timestepper base

* Stores the location of the predicted values so that they can be used by
  other code.

* Store an index of -1 if not assigned (e.g. if time stepper is not
  adaptive). Paranoid mode checks for -1 and throws an error.
Add code and Problem parameter to use predictor values as initial Newton guess

Turned off by default.
Add dump helper functions which take a filename and open the stream
Implement Mesh::reorder_nodes() in terms of Mesh::get_node_reordering

Makes sense to have only one implementation of the reordering algorithm
rather than two.
Add option to order dump output by x position

* Off by default.

* The following self tests fail if using it (mostly due to inconsistent nodal dimension)

/home/david/oomph-lib/demo_drivers/helmholtz/scattering
/home/david/oomph-lib/demo_drivers/unsteady_heat/two_d_unsteady_heat_midpoint
/home/david/oomph-lib/demo_drivers/interaction/fsi_channel_seg_and_precond
/home/david/oomph-lib/demo_drivers/bifurcation_tracking
/home/david/oomph-lib/demo_drivers/interaction/fsi_channel_with_leaflet
/home/david/oomph-lib/demo_drivers/interaction/acoustic_fsi
/home/david/oomph-lib/demo_drivers/navier_stokes/channel_with_leaflet
/home/david/oomph-lib/demo_drivers/axisym_navier_stokes/torus
/home/david/oomph-lib/demo_drivers/time_harmonic_linear_elasticity/elastic_annulus
/home/david/oomph-lib/demo_drivers/optimisation/disable_ALE/unsteady_heat
Remove doc dir to reduce size of repo
Fix bug in problem::get_dofs(t, ...) for elemental data

I was using the wrong index to get the values of dofs stored as elemental
data.
In nrow_local() and first_row() only check for comm_pt != 0 if distributed

Because in the non-distributed case:
1. We don't need the comm_pt to get the values
2. Null comm_pt is commonly used as a dummy communicator.