Merge branch 'master' of https://github.com/OpenCMISS/cm
Updating data points and data projections

Add functionality for each group of data points to be projected onto more than one mesh.
Change data point call by user number instead of global number

Tracker item 2000
Merge branch 'master' of https://github.com/OpenCMISS/cm
Merge branch 'master' of https://github.com/OpenCMISS/cm

Conflicts:
	src/opencmiss.f90
Updating data projection routines

Change the way data projections are created within data points
Change the storage structure of projection results

Tracker item 2000
Data point based interpolation
Merge remote-tracking branch 'TimSzuHsienWu/master' into dataPointBasedInterpolation

Conflicts:
	src/interface_routines.f90
	src/types.f90
data point based interpolation save
Adding data_point_based_interpolation

Setting boundary condition on data point based interpolated field is not in this commit yet.

Tracker item: 3194
Merge branch 'master' of https://github.com/OpenCMISS/cm into dataPointBasedInterpolation
Data point based interpolation

Mainly for interface Lagrange variable

Tracker item: 3194
Merge branch 'master' of https://github.com/OpenCMISS/cm into dataPointBasedInterpolation

Conflicts:
	src/data_point_routines.f90
	src/field_routines.f90
Fix to allow for mpi.mod to be in the lib directory for OpenMPI.
Merge branch 'master' of https://github.com/dladd/cm
Revert "Rearrange solver finishing routines"

This broke problems with CellML equations, as the solver was never
marked as finished.

This reverts commit a4616f531aaaf3e20342424df399cccebf6a4cc5.

I also had to add the local_error parameter back into
SOLVER_EQUATIONS_BOUNDARY_CONDITIONS_CREATE_FINISH, which was unused
and must have been removed in a later commit.
Merge pull request #114 from adamreeve/solver_finishing

Revert "Rearrange solver finishing routines"
Merge pull request #115 from chrispbradley/master

OpenMPI places the mpi.mod file in the library rather than include directory.
Merge branch 'master' of git://github.com/OpenCMISS/cm
Use NumPy arrays in the Python bindings

Replace the SWIG array typemaps with ones from NumPy's numpy.i file.
This has been modified to support output of 2D Fortran arrays and to use
a tuple for output of multiple parameters.
Input arrays are also now declared as const.
In order to work with the the NumPy typemaps, the C bindings have been
changed so that arrays of a known size, eg. see
"CMISSAnalyticAnalysisRmsErrorGetNode" for example use the square
bracket array syntax rather than pointer syntax.

This change requires NumPy when using the OpenCMISS Python bindings and
the NumPy header files in order to compile the Python bindings.

This will allow us to provide a "view" on data that has been allocated
within the library, eg. CMISSField_ParameterSetDataGet can be supported,
although this hasn't been implemented yet.

Tracker item 2147.
Support output of pointers to arrays in Python

- This allows Python to access data allocated internally by OpenCMISS, for
  example in CMISSField_ParameterSetDataGet.
- Pointers to arrays with intent INOUT are not yet supported, eg. for
  CMISSField_ParameterSetDataRestore. This will require having input and
  output sizes in the C bindings.
- I had to fix the intent for the CMISSField_ParameterSetDataGet and
  CMISSField_ParameterSetDataRestore routines as these were wrong.
- I also did some small reorganising when setting SWIG typemaps to remove
  some "if, elif, elif..." statements.

Tracker item 2147
Fix matrix ordering in Python bindings with NumPy

- Setting the Fortran flag doesn't seem to work as expected, I have to
  create the array with Fortran ordering from the start.
- There was also an error in the original numpy.i file with IN_FARRAY2
  when the size parameters are first. to_array_contiguous was used
  rather than to_array_fortran, and it appears that require_fortran
  doesn't actually work?
- Accidentally had added the APPEND_TO_RESULT macro twice so I've
  deleted one copy.

Tracker item 2147.