Merge branch 'master' of https://github.com/OpenCMISS/cm into NonLinearSolvers
Merge remote-tracking branch 'xyan075/energyNorm' into NonLinearSolvers
Updated output from the nonlinear linesearch solver at each iteration.

Saved normalised energy at each iteration of the nonlinear Newton solver in the NewtonSolverConvergenceTest type.
Previously only the function (residual) norm was output at each iteration of the Newton solvers in SOLVER_NONLINEAR_MONITOR.
Added solution, solution update and normalised energy norm output to provide more information to assess convergence of the nonlinear problems.

Added the following Petsc functions:
SnesLineSearchGetNorms
SnesLineSearchSetMonitor
SnesLineSearchComputeNorms

Tracker Item 3497
Added CMISSSolver_NewtonLineSearchMonitorOutputSet

Can be used to enable/disable linesearch monitor output for a Newton solver.

Tracker Item 3497
Merge pull request #2 from PrasadBabarendaGamage/NonLinearSolvers

Non linear solvers
Merge pull request #152 from chrispbradley/master

Manual merge of PrasadBabarendaGamage's Allowing public access to functions in field routines pull request #149
Merge pull request #141 from xyan075/energyNorm

Energy norm
Fix build failure in boundary conditions
Use current element matrix size when doing finite differencing
Fix element residual size calculation in finite elasticity diagnostics

Need to account for field components with element based interpolation,
which only contribute one DOF to the vector.
Merge pull request #153 from adamreeve/finite_elasticity_fix

Fix failing finite elasticity examples
Additional compiler checking for gcc 4.8+