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

If x is of type MaskedArray for ma.asarray(x) or any subtype of
MaskedArray for ma.asanyarray(x), these functions will simply return x.
This makes them consistent with their numpy counterparts.

Closes gh-4043.
BUG: Fixed mask_rowcols().

Previous implementation relied on ma.asarray() to always create
a new object.

See gh-4043.
BUG: Error checks for the dtype shape.

Also creates a clean tuple for the shape tuple, instead of
passing potentially mutable objects through.

Closes gh-4009
BUG: fix large file support on 32 bit systems

On linux large file support must be enabled and ftello used to avoid
overflows. The result must not be converted to a size_t, but a long
long.
BUG: fix npy_PyFile_Dup error handling

no caller deals with the -1.
TST: run 32 bit test with python3
TST: run slow chroot test earlier for better load balancing
MAINT: linalg: prune unused routines from lapack_lite
MAINT: multiarray: fix types

convert_datatype.c and number.c now compile without warnings.
MAINT: umath: get rid of "statement with no effect" warning

(What was this line for anyway?)
Merge pull request #4061 from larsmans/c-fixes

MAINT: Minor C fixes
ENH: optimize np.where via nditer with external loop

Implementation via PyArray_Choose is very slow, a direct implementation
is 10 times faster.
Optimizing Choose is more complicated due to its higher complexity and
would require specialization for optimal np.where anyway, but it is
something that could be done in future.
ENH: improve new where function

Allow object and zerosized iteration and move bool casting of mask into
the iterator logic and improve tests appropriately.
MAINT: add an explicit check on zero iteration
TST: core: fix tofile file positioning test

Python 2 I/O is a thin wrapper on FILE* C-API. All Python code must
follow the ANSI C requirement (see man fopen) that there is a seek or a
flush between reads and writes, otherwise the behavior is undefined.
Whether this is required depends on the CRT implementation; glibc
doesn't seem to require it, but OSX apparently does.

Fixes gh-4189
MAINT: move array creation earlier and use goto for deallocs
ENH: avoid more thread save/restores for small iteration counts

Releasing the GIL is not worthwhile for small loop iteration counts.
This was previously only done for non-reduction ufuncs.
Do this now also for reductions and assignments.
Improves performance of small reductions by about 10% as they avoid two
save and restores.
DOC: site.cfg: warn against OpenBLAS and multiprocessing

Fixes #654 by not fixing it; I don't think NumPy *can* actually fix
the problem as it's a design flaw in Python's multiprocessing. Listed
various alternatives (Python 3.4 forkserver, single-threaded OpenBLAS,
Python threading).
Merge pull request #4194 from larsmans/openblas-docs

DOC: site.cfg: warn against OpenBLAS and multiprocessing
Merge pull request #4196 from pv/fix-tofile-test-osx

TST: core: fix tofile file positioning test