ENH: intern some commonly used strings in the multiarray module

Allows improving dictionary lookup performance.
DOC: clarify that umfpack, fftw and djbfft are not used by numpy

their presence in site.cfg is only for the benefit of third party
packages using numpy.distutils
TST: win32 also does not provide 16 byte alignment

mingw builds set the alignment requirement for complex doubles types to
16 byte so the tests checking the alignment flag must be disabled.
Merge pull request #4907 from juliantaylor/win-alignment

TST: win32 also does not provide 16 byte alignment
DOC: document non-integer reduce axis argument deprecation
DOC: add ascontiguousarray and asarray_chkfinite to appropriate section

added to "Changing kind of array" with the other as* functions
Closes gh-4890
MAINT: add common source indexer files to .gitignore

ignore cscope and gnu global files
DOC: fix documented return value of tostring/tobytes

The function returns bytes not strings. This is relevant in python3.
DOC: add version added tag to reduction keepdims argument
DOC: document behavior of ma.sort(endswith=) for unmasked min/max values

see gh-4422
DOC: add some missing ma functions to reference

closes gh-4898
DOC: remove obsolete NA documentation page
MAINT: .gitignore += generated umath/loops.h

Commit 494abcf1 (ENH: speed-up minimum, maximum and xor for bool dtype)
reworked numpy/core/src/umath/loops.h to be autogenerated at build time,
but forgot to update .gitignore.

Fix it, so that the now-autogenerated loops.h do not constantly show as
untracked in git status output.
DOC: NPY_ITEM_LISTPICKLE -> NPY_LIST_PICKLE

There is no NPY_ITEM_LISTPICKLE - it was NPY_LIST_PICKLE from the
beginning - from c3551579 (Expand usage of hasobject to be a flag-like
entity keeping track of how the data-type should be used.)

The documentation in the same rst file even uses the correct identifier
later, so it was just a typo/thinko.
DOC: fix PEP links in HOWTO_DOCUMENT.rst.txt
DOC: add a note on the potential string dtype change
TST: test reduction argument parsing

In case we might want it up in future
DOC: numpy.testing documentation clarification of "Raise an assertion"

"Raise an assertion" was changed to "Raises an AssertionError" to clarify that
an exception named AssertionError will be raised.
Closes gh-4884

[ci skip]
Merge pull request #4905 from juliantaylor/doc-update

documentation updates
ENH: add a ndarray super-fast path to _array_from_object

When the argument is exactly an ndarray and the rest of the arguments
are their defaults we can skip the very slow
PyArg_ParseTupleAndKeywords.
This improves np.array(ndarray, copy=False) performance by about a
factor three and np.asarray(ndarray) by about a factor of two.