Update numpy SWIG typemaps for Python bindings

This removes the deprecation warnings with new numpy versions.

- Now numpy.i is just the version from the numpy repository, and
  numpy_extra.i has been added to contain additional numpy typemaps
  that are needed by OpenCMISS.

- The use of APPEND_TO_RESULT has been replaced with
  SWIG_Python_AppendOutput to be consistent with the original
  numpy.i file.

- Some use of const typemap arguments has been removed so that the
  numpy.i typemaps can be used unmodified.

Next time numpy.i needs upgrading it should hopefully be possible to just
replace it with the updated version.