Merge branch 'master' of https://github.com/OpenCMISS/cm
Only output scale factor diagnostic information in field_routines.f90 FIELD_SCALINGS_CALCULATE if the field doesn't use FIELD_NO_SCALING

no tracker item
Initial commit of FIELD_PARAMETER_SET_INTERPOLATE_XI

Currently working however further checks required to ensure user inputs valid and errors deallocate memmory appropriately.
Also need to allow for multiple sets of xi to be interpolated with a single subroutine call
Once routine FIELD_PARAMETER_SET_INTERPOLATE_XI_DP finalized will add SP L etc

Tracker Item 3299
Merge branch 'master' of https://github.com/OpenCMISS/cm
Merge branch 'master' of https://github.com/OpenCMISS/cm
Merge branch 'master' of https://github.com/OpenCMISS/cm into field_routines
Merge branch 'master' of https://github.com/OpenCMISS/cm into UpdateVersions
Small bugfix for setting the version number of element node derivatives using CMISSMeshElements_UserNodeVersionSet

Tracker item 1998
Merge branch 'master' into field_routines
Added ability to interpolate a field at a set of element xi/gauss points.

FIELD_PARAMETER_SET_INTERPOLATE_XI & FIELD_PARAMETER_SET_INTERPOLATE_GAUSS and associated library routines added.
Field interpolation is currently only supported for double precision fields, therefore routines for SP,INTG,L field data types will be added after field interpolation allows for these data types (sepe
Fixed minor bug in python bindings when 2D arrays are input/output to/from a wrapped OpenCMISS routine (corrected by Adam).

Minor point - Added CMISSField_ParameterSetUpdateGaussPointDPNumber library routine in opencmiss.f90 as it was missing.

Tracker Item 3299
Added BASIS_QUADRATURE_GAUSS_XI_GET routine and updated FIELD_PARAMETER_SET_INTERPOLATE_GAUSS/XI_DP routines

Updated descriptions and error handling for FIELD_PARAMETER_SET_INTERPOLATE_GAUSS_DP & FIELD_PARAMETER_SET_INTERPOLATE_XI_DP.
Increased MAX_OUTPUT_STRING_SIZE to 300 (from 200) in the SWIG bindings opencmiss_py.i to accomodate longer error descriptions.

Tracker item 3299
Updating error handling in FIELD_PARAMETER_SET_INTERPOLATE_XI & GAUSS

Tracker Item 3299
Updated error handling for the version number argument of FIELD_PARAMETER_SET_GET_NODE_DP

Updates to error handling in remaining routines which have a version number argument will be added soon.

Tracker item 1998
Merge branch 'UpdateVersions' into field_routines
Merge branch 'master' of https://github.com/OpenCMISS/cm into field_routines
Updating error messages for field routines that require a version number as an argument.

The following routines are updated:
FIELD_PARAMETER_SET_ADD_NODE
FIELD_PARAMETER_SET_ADD_LOCAL_NODE
FIELD_PARAMETER_SET_GET_NODE
FIELD_PARAMETER_SET_UPDATE_NODE
FIELD_PARAMETER_SET_UPDATE_LOCAL_NODE

Tracker item 1998
Updating FieldParameterSetInterpolateXi/Gauss & BasisQuadratureGaussXiGet routines

Added following routines:
FIELD_PARAMETER_SET_INTERPOLATE_SINGLE_XI
FIELD_PARAMETER_SET_INTERPOLATE_MULTIPLE_XI
FIELD_PARAMETER_SET_INTERPOLATE_SINGLE_GAUSS
FIELD_PARAMETER_SET_INTERPOLATE_MULTIPLE_GAUSS
BASIS_QUADRATURE_SINGLE_GAUSS_XI_GET
BASIS_QUADRATURE_MULTIPLE_GAUSS_XI_GET

The indices of the output values have been reversed for routines that take multiple xi/Gauss point's. They now output eg VALUE(xi_direction_idx,xi_point_idx).
When interpolating/getting xi values for Gauss points, if the user doesn't specify a list of Gauss points then the interpolated/xi values of all Gauss points are returned.
Error messages have been added that will help the user if input array sizes haven't been allocated properly.

Tracker Item 3299
Added MESH_TOPOLOGY_ELEMENTS_ADJACENT_ELEMENT_GET routine and necessary library routines

Currently returns only the first adjacent element and needs to be extended to output all or the selected number of adjacent elements.
An additional routine can be added to first output the number of adjacent elements. This can subsequently be used to define array sizes required for the adjacent element get routine.
This is useful/required in some circumstances eg the python bindings require the output array size of the adjacent element array to be known a-prior as these are arguments to the OpenCMISS python library calls.

Tracker Item 3427
Merge branch 'master' of https://github.com/OpenCMISS/cm into field_routines
Updating error messages for field_parameter_set interpolate xi routines.

Tracker Item 3299