General manual overhaul in the system sections, including:

* Updates to the Ubuntu install procedures
* Introduction of sections for installing on other Linux variants
* General overhaul of the build-from-source method including a new
    section for gmsh.
* Updated recommended petsc configuration options.
* Updates for the migration from bzr+launchpad to git+github
Merge pull request #4 from FluidityProject/fluidity-core/manualoverhaul201406

General manual overhaul in the system sections, including:
Put all petsc-legacy redefinitions in one header file.

This cleans up some repeated #if PETSC_VERSION stuff in the modules that use fortran.

Using petsc in any of our fortran modules is simplified to:

  module foo
    ...

  #ifdef HAVE_PETSC_MODULES
    use petsc
  #endif
    implicit none

  #include "petsc_legacy.h"
    ...
    contains
    ...

It also adds supports for building Fluidity linked with petsc-dev master. Since a few
people are now reliant on using petsc master I suggest we keep fluidity up-to-date with
it, i.e. as soon as an API change hits petsc master we push fixes for it to fluidity's
master (pull request if necessary), obviously without breaking support for previous release
versions of petsc.

Where API changes between petsc versions can be handled via #define macros, our
fortran code should read as if it is using the latest stable release (currently 3.4). When
linked against other petsc versions (including petsc-dev master) the macros,
defined in petsc_legacy.h, should then adapt this to match the API of that version.