PETSc KspSolver and Sparse Matrix Fixes
Adds the PETScKSPSolver class, which can be configured via a PETScSolverOptions object and allows you to control the behaviour of PETSc Ksp solvers without using command line arguments.
Added a createEmptyCopy function to sparse matrix proxy classes.
Fixes memory leaks in PETScSparseMatrixProxy when using createMatrixFromProduct and createFromMatrixLinComb.
Includes additional minor changes to PETScLUSolver and PETScHDF5FunctionSave.