Merge branch 'master' of https://github.com/OpenCMISS/cm
Add options for tri/tet linear and quadratic simplex elements for FieldML input. It should also be noted that for this commit set, collapsed arrays have not been implemented for simplex types. Tracker #3132
add simplex output types to fieldml glue code
replace nonsensical simplex # of gauss points set warnings
clarify gauss point specification error message
parallel fieldml IO fix- should now run correctly in parallel but still need to fix some of the output file formatting
added FieldML support for 2D biquadratic lagrange basis
Update boundary condition arrays

- Add a second array for the specific boundary condition
  type and rename the original array to make it's use more
  clear.

- Create new DOF fixed, free and mixed constants for the
  boundary condition DOF type array.

- Update references to the old global_boundary_conditions
  array to use one of the two new arrays.

- Reorganise the boundary condition routines to set values
  for DOFs in both arrays.

- Remove unused equations set boundary condition constants.

Tracker item 3052.
Problem_solver_load_increment_apply doesn't need to be public
Add BC routine for checking interpolation type

Some boundary condition types might not make sense
when applied to a field component with constant or
element constant interpolation.  Tracker item 3052.
Rearrange solver finishing routines

solver_create_finish now calls the specific solver
finishing routine, eg. solver_linear_create_finish,
which is more intuitive. Now the solver isn't marked
as finished until the solver equations boundary conditions
are finished.
Remove unused variables in solver_routines.f90
Keep RHS DOFs free when applying pressure BCs

This is because the pressure terms are added within
the finite element residual evaluation, rather than
by setting the RHS field variable values, as in
standard Neumann conditions.  Do the same also for
the impermeable wall condition.  Tracker item 3052.
Add routine for creating field parameter set if it's not already created
Use standard BC routines for setting Neumann conditions

These don't need their own special routine for setting them,
and the way it was before you could only set Neumann conditions
once.

The current change might break these conditions when running in
parallel due to the way global to local is used, but they don't
seem to work in serial and need a big clean up, so this
will probably get changed anyways.
Fix doxygen comment in boundary conditions type for Neumann conditions
Count boundary condition types as they're added

Count condition types as they're added and then sum them
across all nodes, so that all nodes know if a certain
boundary condition type has been set. Avoids looping
over all dofs to count the different condition types.
Add missing enters call in boundary condition routines
Update boundary condition DOF constants

Keep them ordered, rather than using the old mixed number of 7,
seeing as these are a new set of constants.
Create parameter sets for boundary conditions as required

Rather than adding parameter sets that might be required
based on the equations set, create then when a BC is set on
a DOF. Also generalise this by keeping a list of parameter
sets that are required by the boundary conditions.