Don't use deprecated numpy APIs

There are three main things about the deprecated APIs:

* some macros have been renamed, e.g. `PyArray_UINT8` to `NPY_UINT8`
* you can't access `PyArrayObject` fields directly, instead you have to use accessor functions
* the old accessor macros are now functions so you can't call them with a `PyObject*` without typecasting

This changes the Travis configuration to require numpy==1.6 in one build, to ensure that we stay compatible with the version advertised in documentation. This also adds #defines to make reliance on the deprecated APIs a compilation error.

Fixes matplotlib/matplotlib#2092.