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
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
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
MAINT: add a configure check for ftello and fseeko

Works on Ubuntu/Debian, might require lfs macros on some platforms to
succeed, but its also defined by Python.h so it should mostly work.
TST: document reason for truncate instead of seek past end
Merge pull request #4200 from juliantaylor/thread-thresh

ENH: avoid more thread save/restores for small iteration counts
Merge pull request #4187 from juliantaylor/large-file-fix

BUG: Fix large file support on 32 bit
Merge pull request #4182 from juliantaylor/where-improve

ENH: optimize np.where via nditer with external loop
ENH: Added argv argument to run_module_suite.

Adding an 'argv' optional argument to the
"numpy.testing.run_module_suite" function lets the client pass arguments
to the nose testrunner.

For example, this lets the user add things like:

run_module_suite(sys.argv)

at the end of a test module, so that arguments specified on the command
line will get passed to the nose runner. The user could then run:

$ python test_module.py --nocapture
DOC: Added docstring for run_module_suite.
Merge pull request #4193 from pv/prune-lapack-lite

MAINT: linalg: prune unused routines from lapack_lite
STY: Style adjustments to run_module_suite.

Cosmetic adjustments to previous commit (893fe99) following "charris"'s
comments.