Ripped out all the PETSc stuff that should not have gone into this branch; finished reengineering class Smooth; removed METIS renumbering because this kind of renumbering should be done outside of pragmatic where the discretisation is known (and its various interface changes are a pain in the arse.