Work on moving update of ghost values into vector apply() function.
Add missing ghost update call in PETSc vector interface.
Fix Issue #263.

Move calls to update vector ghost values to apply(), and after linear solves.

Epetra implementation is flaky, but Epetra interface needs an overhaul for parallel objects.
Fix mistaken deletion in unit test.
Fix some issues picked up by static scan, including memory leak in plotting.

There was a leak in the plotting code caused by GenericVTKPlottable not having a destructor. Adding a destructor caused an MPI error because Functions were kept in scope despite MPI finalised. This has been 'fixed' by using std::weak_ptr for storting Functions in the plotting code.
Add some missing ghost values updates in PETSc interface.
Switch back to MUMPS as default PETSc parallel LU solver, and make MUMPS use AMD ordering.

It seems that MUMPS would use METIS if available, but there are version incompatibilities that would often lead to crashes. This change stops MUMPS using METIS.
Clean up handling of ghost values in PETSc Vec wrapper.
Merge branch 'master' into garth/fix-issue-263

Conflicts:
	dolfin/la/PETScVector.cpp
Merge branch 'garth/switch-petsc-lu-solver'
Merge branch 'garth/coverity-fixes'