More verbose information if solver does not converge
Call KSP.setFromOptions() to read parameters from PETSC_OPTIONS env var
Add flag monitor_convergence printing residual per iteration if set
Add flag plot_convergence plotting convergence history to file

For each solve, the convergence history is plotted to a file named
reshist_N.png where N is a global counter counting solves in the Solver
class. A prefix can be specified via the plot_prefix parameter
(defaults to the empty string).

plot_convergence has no effect if monitor_convergence is not set.
Set monitor_convergence if plot_convergence is set
Update solver documentation
Merge pull request #138 from OP2/monitor-solver-convergence

Monitor solver convergence

Adds a few features to solvers using PETSc KSP:
* print more verbose information if solver does not converge
* call KSP.setFromOptions() to read parameters from PETSC_OPTIONS
  environment variable
* print residual per iteration if flag monitor_convergence is set
* plot convergence history to a file if flag plot_convergence is set
* the value of the parameter plot_prefix is prepended to the file name