Update .gitignore
In autogen.sh move testing of mpi commands to new script
In autogen.sh remove recording of file sizes

If you really need this it's easy enough to do using shell commands,
e.g:

   du -h > inital_du
   ./autogen.sh
   du -h > post_build_du
   make check
   du -h > post_test_du
In autogen.sh remove running of self tests

Adding options to autogen.sh to choose "make check" or
"./bin/parallel_self_test.py" and to pass options to them would
massively over complicate things.

If you want to automatically run self tests afterwards just use normal
shell commands, e.g:

    ./autogen.sh && ./bin/parallel_self_test.py
In autogen.sh don't ask about wiping build directory

This should never be needed and could be dangerous.

If you think that your build is completely broken then use "make clean"
(which is safe) instead.
In autogen.sh etc. use /bin/bash

Since most of oomph-lib would not work with pure POSIX sh it's ok to
assume we have bash here.
In autogen.sh add function YesNoRead and use it

Better to encapsulate this stuff in a function, so that we are
consistent.

I don't think entering garbage at a y/n prompt was handled at all in
some places before, it is now.
In autogen.sh accept build dir by default
In autogen.sh simplify and improve ProcessOptionsFile

* Only need one sed command

* No point in echo `...`!

* Also delete blanklines with whitespace
In autogen.sh fix indentation
In autogen.sh always display full list of config options
In autogen.sh rewrite configure options selection loop

* List normal and private configure options by just using find instead
  of some weird stuff with symlinks.

* Greatly simplified!

* Use cut to select nth options file rather than looping!
In autogen.sh send errors to std::err
In autogen.sh move user_drivers detection to build section
In autogen.sh remove pause before starting build
In autogen.sh always wipe links to helper scripts

No reason not to: it takes no time and they are automatically rebuilt.

Also: move wiping into non-interactive section
Break autogen.sh into three parts

1) bin/autogen_helpers.sh

   Contains function so that they are accessible from both parts of autogen
   and from other shell scripts.

2) non_interactive_autogen.sh

   Contains the actual build process

3) autogen.sh

   Contains interactive parts, calls non_interactive_autogen.sh for the
   build.
In autogen.sh etc: minor tweaks to formatting
In autogen.sh allow proper editing when reading options
In autogen etc. implement command line interface

and use the appropriate cli commands in the interactive autogen to run
the requested settings in non-interactive autogen.