Main bulk of stuff needed to update strain rate in momentum diagnostics. I've tested that the code compiles and runs, but need to tidy the code and verify that it also work in sync with the viscosity, as planned.
Minor comment clarification.
Some tidying up following my chat to Dr. Wilson. Need to test this next in a non-linear run, to verify that things are being updates as I think they are.
Merge trunk into branch.
Merge in trunk.
Merge in trunk.
Merge in trunk.
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.
Add P0-support to project_vtu and fix output ordering

project_vtu now also projects cell-based (P0) fields from the input vtu.
If the vtu is piecewise linear and continuous, maintain the node ordering
of the donor triangle mesh in the output vtu. This is useful if the output
vtu is used for further analysis with for instance vtudiff.
Add gmsh support to project_vtu.

Use .msh filenames directly on the commandline (identified by .msh extension)
instead of triangle file basename.
Fix galerkin projection of CG tensor fields.

Option path was not passed on in extract_scalar_field_from_tensor.
This should fix both galerkin_projection in fluidity and tensor fields
in project_vtu.
Make project_vtu work for the case of having both cell-based and point-based fields in one vtu.
Add a test case for project_vtu.
Update usage message and manual for project_vtu.

This is to reflect it now handles gmsh meshes.
Several improvements to project_vtu:

* Add support for P0 (cell-based) fields
* Add support for gmsh. Use .msh filenames directly on the commandline
(identified by .msh extension) instead of triangle file basename.
* Fix (galerkin) projection of tensor fields (also fixed in main Fluidity).
* If the vtu is piecewise linear and continuous, maintain the node ordering of
the donor triangle mesh in the output vtu. This is useful if the output vtu is
used for further analysis with for instance vtudiff.
* Add a test case for project_vtu.
* Update manual and usage message.
Update makefiles after petsc-legacy merge.
Merge remote-tracking branch 'fluidity/master' into fix_non_linear_nnewt_viscosity
Ensure that SecondInvariant routine is called for all materials during non lienar iterations. Also add some write statements.