Modified the monitor class to accommodate solvers which have additional failure modes.

- Add function to force a failure
- Differentiate between different types of failures
- Remove non-standard postfix increment operator (prefix increment is all that's needed anyway)
Changed the MINRES Krylov solver to properly use the monitor class.