ENH: added functionality nanmedian to numpy

Implemented a nanmedian and associated tests as an
extension of np.median to complement the other
nanfunctions

Added negative values to the unit tests

Cleaned up documentation of nanmedian
Fix for #4655: Make fftpack._raw_fft threadsafe
BUG: cythonize sources for wheel build

Wheel build was not cythonizing sources, giving a compile error because
needed `numpy/random/mtrand/mtrand.c` was missing.
ENH: add small memory chunk cache

Add very simplistic caching of small memory blocks (< 1024 bytes)
This improves the performance of small array operations by about 15%-20%:

without cache:
In [1]: d = np.array([1,1])
In [2]: %timeit d*d*d*d
1000000 loops, best of 3: 2.1 µs per loop

with cache:
In [1]: d = np.array([1,1])
In [2]: %timeit d*d*d*d
1000000 loops, best of 3: 1.7 µs per loop

The cache is a simple list of buckets of pointers, one for each size up
to 1023 bytes.
Two caches are required one for array data one one for
dimensinos/strides as they use different allocators.
All pointers can still be deleted with their matching deallocator but
this implies the size of the block must be known at the time of the free
in order to place the pointer in the right bucket. This should not be an
issue for well behaved numpy users.

Technically the ABI is broken in this change as the size of the
dimension memory block has been decreased from 3 * nd to 2 * nd, the
increase to 3 was a relic from the NA branch and is not needed anymore.
It should be unlikely someone relies on this size.
TST: add travis test for wheel build and install

Add travis build that builds and installs wheel, runs tests from
installed wheel.
ENH: release GIL for callocs

useful for programs that block operations to avoid hitting the memory
bandwidth wall.
ENH: Break out early of loop in argmin/max for bool, fixes #4659

Break out early of loop if the min (max) found is `False` (`True`) when
`argmin` (`argmax`) is called on an array of type `bool`.
MAINT: Move numpy/core/code_generators/cversions.py to numpy/core.

This is done because it runs as a script, hence without context, and
this causes problems with imports in the code_generators package. This
became apparent when numpy_api.py was changed to import genapi.py from
the same package.
DOC: Document the new location of cversions.py.

The instructions in HOWTO_RELEASE.rst.txt needed to be modified.
MAINT: Update the C-API hash in cversions.txt.

The new annotations caused the api hash to change.
MAINT: Delete code_generators/cversions.py in its old location.
MAINT: Add NPY_1_9_API_VERSION to numpyconfig.h.

Defined to the same value it same value as the NPY_1_8_API_VERSION as
there have been no deprecated macros or functions in the include files.
DOC: Update HOWTO_RELEASE.rst.txt.

Add more detail in the "Check the C API version number" section.
Merge pull request #4668 from jaimefrio/fast-argfunc

ENH: Break out early of loop in argmin/max for bool, fixes #4659
Merge pull request #4670 from charris/prepare-for-1.9-branch

Prepare for 1.9 branch
BUG: Fix test error in scipy introduced by commit d8fd283.

Revert "ENH: ma.asarray() and ma.asanyarray() will pass through input
        of the correct type."

This reverts commit d8fd28389adb491e24b7cdc25cd1b20f539310c3.

That commit caused test errors in scipy, which was apparently
expecting a copy rather than a passed through array. The idea
may be good, but at a minimum it should probably be preceded
by a deprecation period.

Closes #4675.
Merge pull request #4677 from charris/revert-d8fd283

BUG: Fix test error in scipy introduced by commit d8fd283.
MAINT: move memory allocator functions to own file alloc.c
Merge pull request #4606 from juliantaylor/small-memcache

ENH: add small memory chunk cache
MAINT: Remove deprecated importall.

The importall function was the only function in the numpytest.py
file, so remove the whole file.