Docstring fix for `savetxt`
BUG: fix crash when sending interrupt signal to fft functions

the SIGINT handling code must be in the GIL released section so the
longjmp does not skip the retaking.
This implies that the signal handlers must use thread local storage to
avoid a crash when sending interrupt to threaded fft functions.
Distribution of SIGINT to each threads must be handled by the
application as only the master thread receives it
Closes gh-4634
MAINT: move variable attribute checks into a common variable

also rename GCC_ATTRIBUTES to FUNCTION_ATTRIBUTES
BUG: don't set a default for libraries configuration key

the get_libs function assumes there is no default to return the default
it was asked to return in that case.
Closes gh-4607
BUG: check if openblas embeds lapack

add openblas_lapack info which checks if it embedds lapack so
lapack_info will point to openblas
the normal openblas info does not check so it may or may not embed
lapack.
closes gh-4192
ENH: added functionality nanpercentile to numpy
Implemented a nanpercentile and associated tests
as an extension of np.percentile to complement the
other nanfunctions.
BUG: svd ufunc typo
Merge pull request #4735 from argriffing/fix-svd

BUG: svd ufunc typo
DOC: tweak gufunc API documentation, remove broken link.  Closes gh-4726.
Merge pull request #4738 from rgommers/gufuncs-doc

DOC: tweak gufunc API documentation, remove broken link.
Docs: fix numpy.fft.fft2 example

Fixes issue #4736

The example showed a call to np.fft.fft instead of np.fft.fft2.
Merge pull request #4739 from FRidh/docs

Docs: fix numpy.fft.fft2 example
ENH: speed-up minimum, maximum and xor for bool dtype
Replaced the operations for the above ufuncs on bools, by simpler
single instructions.

On random inputs `np.minimum` and `np.maximum` run about 25% faster,
and `np.logical_xor` and `np.bitwise_xor` almost 3x faster.
Merge pull request #4740 from jaimefrio/bool-ops

ENH: speed-up minimum, maximum and xor for bool dtype
Merge pull request #4734 from dfreese/feature/nanpercentile

ENH: added functionality nanpercentile to numpy
ENH: avoid expensive PyArg_ParseTuple in void operations

Replace simple "Oi|O" unpack with faster specialized unpacking

Improves e.g.:

    nrows, ncols = 365, 10000
    items = np.rec.fromarrays(randn(2,265, 10000), names=['widgets','gadgets'])
    row_idx, colidx = randint(0, nrows, ncols), np.arange(ncols)
    %timeit filtered_items = items[row_idx, col_idx]
    In [7]: %timeit filtered_items = items[row_idx, col_idx]
    1000 loops, best of 3: 1.55 ms per loop

to

    In [7]: %timeit filtered_items = items[row_idx, col_idx]
    1000 loops, best of 3: 706 µs per loop
Merge pull request #4731 from juliantaylor/get-libs-default

BUG: don't set a default for libraries configuration key
BLD: add support for OpenRISC architecture.  Closes gh-4743.

Thanks to @manuelafm for the patch.
BUG: Fix missing fragment in ARGOUTVIEWM typemaps.

The argout typemaps of all the ARGOUTVIEWM typemap suites make use of the
free_cap function, defined in the NumPy_Utilities fragment, which was not
listed in the fragment argument of the typemaps.

As a result, the free_cap function is not included in the source generated
code by SWIG, and the code do not compile (unless another typemap including
the missing fragment has been used).
Merge pull request #4744 from rgommers/openrisc

BLD: add support for OpenRISC architecture.  Closes gh-4743.