ENH: optimize STRING_compare by using memcmp
BUG Make ma[row][rec] setter work by avoiding copy in mvoid.__new__
BUG: initialize object array of array on resize and zeros

np.zeros(2, dtype=[('k', object, 2)]) did only initialize the first
element to zero while the rest stayed None.

    In [1]: numpy.zeros(2, dtype=[('k', object, 2)])
    Out[1]:
    array([([0, None],), ([0, None],)],
          dtype=[('k', 'O', (2,))])

This is a surprising and likely not intended behavior which is fixed
here.
The changed function PyArray_FillObjectArray is only used with None or
zero inputs from numpy, though as its part of the API it could affect
third parties but this is not very likely.

Additionally the memory after the first element was not initialized when
the object was resized.
Closes gh-4857
ENH: core: make unpickling with encoding='bytes' work

Make dtype.__setstate__ accept endian either as a byte string or unicode.

Also fix a missing error return introduced in c3551579, apparently
mistake.
BUG: core: ensure unpickled dtype fields and names have correct types + coerce on Py3

That 'names' is a tuple and 'fields' a dict (when present) is assumed in
most of the code base, so check them during unpickling.

Also add coercion from bytes using ASCII codec on Python 3.  This is
never triggered in the "usual" case of loading Py3-generated pickles on
Py3, but can occur if loading Py2 generated pickles with
pickle.load(f, encoding='bytes'), which sometimes is the only working
option.

The ASCII codec is probably the safest choice and likely covers most use
cases.
Merge pull request #4888 from pv/fix-bytes-encoding-unpickle

ENH: core: make unpickling with encoding='bytes' work
Merge pull request #4889 from juliantaylor/object-array-init

BUG: initialize object array of array on resize and zeros
Merge pull request #4866 from mhvk/ma/mvoid-initialisation

BUG Masked recarray assignment with [row][record] does not work
BUG: object array np.conjugate, ndarray.conjugate inconsistent

fixes gh-4730
Merge pull request #4887 from ewmoore/conj_obj

BUG: object array np.conjugate, ndarray.conjugate inconsistent
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