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
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
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
ENH: release GIL during where iteration
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