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 'origin/master' into fluidity-core/vtk6