SWIG interface file for NumPy

This pull request represents an upgrade of the numpy.i file to properly handle deprecated elements of the numpy C API.  Note that numpy.i has been reworked so that it still works with older versions of numpy -- versions from before the new API activate the old API, and numpy versions after the new API activate the new API.  I have tested it back to numpy 1.4.1.

There are also some additional features added in, largely from Egor Zindy: support for 4D arrays and memory managed output arguments.

Bug fixes: a 3D typemap was referencing the wrong argument number and the doc directory is moved elsewhere, so I removed it from the Makefile.

Documentation: I have upgraded the numpy.i  and numpy.i testing documentation.