Merge pull request #4158 from rgommers/f2py-no-reload

MAINT: remove use of ``reload`` from f2py.  See gh-4139.
Merge pull request #4149 from argriffing/doc-matrix-rank

DOC: matrix_rank
BUG: compile random in lfs mode

randomkit.c uses fopen which requires LFS mode to support larger than 64
bit files on 32 bit systems.
TST: add 32 bit travis tests

Implemented by setting up a chroot in the travis VM and moving all the
test logic, including bento build, to a single script.
This is still reasonable fast, about twice as slow as the normal tests.
When Travis updates to a newer OS it can be replaced by standard cross
compiling.
MAINT: enable verbose bento build
Merge pull request #4161 from juliantaylor/32bit-travis

TST: add 32 bit travis tests
ENH: optimize complex vector norm

Also used ravel(order='K') to prevent copies.
BUG: return immediately if memoryview cannot be non-native

late return triggers an assert with python3.4 in debug mode.
Closes gh-4138.
BUG: fix native-only long long check

Caused all long longs to be required native only in memoryviews.
NPY_SIZEOF_LONG_LONG never existed, replace documentation with existing
NPY_SIZEOF_LONGLONG and code with a sizeof(npy_longlong).
BUG DOC TST: Allow __numpy_ufunc__ to handle multiple output ufuncs.

Added details about how the output variables are handled to the spec.
Also adds tests for ufuncs with multiple outputs.
Add '.FOR' to src_extensions

The uppercase source extension '.FOR' is also commonly used.
Merge pull request #4173 from leaz/patch-2

Add '.FOR' to src_extensions
MAINT: Update link to numpydoc README

This is the counterpart of my PR numpy/numpydoc#7 renaming the README.
Merge pull request #4175 from takluyver/patch-1

DOC: Update link to numpydoc README
Merge pull request #4170 from juliantaylor/memoryview-error

BUG: core: fix memoryview issues with python 3.4
Merge pull request #4171 from cowlicks/ufunc-override-out

BUG: Allow __numpy_ufunc__ to handle multiple output ufuncs.
ENH: replace a few small allocations with PyObject_Malloc

It uses a faster small object allocator for sizes smaller than 512 bytes
(256 in python2). This improves nditer construction and scalar
operations by about 10%.

For now only replace high profile encapsulated nditer allocation and
python object (PyArray and gentype) allocations that go over tp_free to
ensure no non-buggy third party application is broken.
Merge pull request #4165 from juliantaylor/lfs-mtrand

BUG: compile random in lfs mode
BUG: core: ensure file handle positions are in sync

The Python3 file handles keep records of current file positions, so that
the raw handle needs to be restored to the original position in order
to not confuse the mechanism.

Fixes gh-4118
ENH: core: switch to off_t and lseek in Python 3 file seeks

This removes dependency on CRT implementation details (whether
fflush/fclose actually seeks the underlying raw file handle or not).

Also, check seek error statuses.