Fix input/output arrays with new numpy.i swig typemaps

- Apply extra numpy typemaps where the size is not const.

- With the new numpy API we can no longer modify the data pointer for an
  array but this is ok, by setting the size to zero numpy will not try
  to access data that it shouldn't.
Merge pull request #158 from adamreeve/python

Fix input/output arrays with new numpy.i swig typemaps
Merge pull request #159 from chrispbradley/master

Removing compiler warnings
Change name
Change vector dot product to be intent in for the vectors.
Adding MPICH MPI