ENH: allow auto vectorization of integer loops

Generalize the loop specializations with two new macros UNARY_LOOP_FAST
and BINARY_LOOP_FAST and apply it to more integer loops.
Same also gh-4561 which did this for integer boolean operations.
Merge pull request #5144 from juliantaylor/int-vectorize

ENH: allow auto vectorization of integer loops
MAINT: core: string constants in static buffers

Saves copying them into temporary buffers.
Merge pull request #5175 from larsmans/c-fixes

MAINT: core: string constants in static buffers
DOC: core: contents of newly allocated space in memmap

Fixes #5157.
Merge pull request #5176 from larsmans/memmap-doc

DOC: core: contents of newly allocated space in memmap
BUG: Make python2 *.npy files readable in python3.

The Python2 generated file had long integer literals like '1L' that
broke in Python3. The fix here is to filter out the 'L' and let
safe_eval take care of the integer type in converting the string.

The fix here comes from Nathaniel Smith with a few added fixups.

Closes #5170.
TST: Add tests for Python2, Python3 *.npy compatibility.
Merge pull request #5178 from charris/fix-npz-header-incompatibility

Fix npz header incompatibility
ENH: support parallel compilation of extensions

Allow extensions using numpy.distutils to compile in parallel.
By passing `--jobs=n` or `-j n` to `setup.py build` the compilation of
extensions is now performed in `n` parallel processes.
Additionally the environment variable NPY_NUM_BUILD_JOBS is used as
the default value, if its unset the default is serial compilation.

The parallelization is limited to within the files of an extension, so
only numpy multiarraymodule really profits but its still a nice
improvement when you have 2-4 cores.
Unfortunately Cython will not profit at all as it tends to build one
module per file.
DOC: update installation instructions