Work on fixing vector initialisation.
Fix bug in PETScVector::zero. Did not call appply().
More PETScVecctor fixes.
Formatting fixes.
Disable PointIntegralSolver tests because of bug.
Get demos working without calling GenericVector::resize more than once.
Throw error is PETScMatrix/Vector is reinitialised (for testing).
Interface change: GenericMatrix::compress() -> GenericMatrix::compressed(GenericMatrix& B) const

Require to avoid re-intitialisation of matrix.
Work in GenericFoo::init interface.
Update for block matrix demo.
Remove PETScVector::reset and add warnings when destroying PETSc objects inside wrappers.
More fixes for vector initialisation.
Fix clang error about virtual function hiding.
Some clean-ups for linear algebra intialisation.
Remove TensorProduct clases - they were empty.
Shift GenericVector::empty() to GenericFoo::empty().
Merge branch 'garth/fix-issue-213'