Adds PETScSparseMatrixInfo class and overloads stream operator <<

The PETScSparseMatrixInfo provides access to the MatInfo struct of a
matrix from PETSc. It is a child of the SparseMatrixInfo class. Maybe
we want to implement a similar object for Trilinos?

The PETScSparseMatrix class has a corresponding new getInfo() method
and we can insert a PETScSparseMatrixInfo into the output stream.

ElementwiseOperatoPetscTest now uses this new approach for its reporting.

Further changes in PETScSparseMatrix:
* renames assemble to assemble_
* make constructor set assemble_ to false
* relocates setting assemble_ to true from createMatrixFromOperatorOnce()
  to createMatrixFromOperator(), so that we can sensibly query it in
  getInfo()
25 jobs for mohr/MatInfo in 100 minutes and 19 seconds (queued for 3 seconds)