Detect vendor versions of GNU Compilers

Cray and other HPC vendors provide patched versions of the GNU compilers
with modified version strings.  Use re.search instead of re.match in the
version detection scripts to account for modified version strings.

Ref: https://github.com/numpy/numpy/issues/4259
Merge pull request #4261 from ahmadia/allow_vendor_compiler_versions

BUG: Detect vendor versions of GNU Compilers
BUG: fix two missing array creation failure checks
TST: fix test_io.TestSavezLoad
TST: clean up tempfile in test_closing_zipfile_after_load
DOC: fixed small whitespace error in rfft notes
BUG: fix missing memory allocation failure checks
BUG: fix use of capi without gil in ufunc.at

without a pointer to store the error NpyIter_ResetBasePointers uses
python errors to signal problems which requires the GIL.
Merge pull request #4271 from juliantaylor/big-file-test-fix

TST: fix test_io.TestSavezLoad
Merge pull request #4267 from juliantaylor/fuzz-test

BUG: add more malloc failure checks
Merge pull request #4273 from juliantaylor/test-file-leak

TST: clean up tempfile in test_closing_zipfile_after_load
Merge pull request #3798 from seberg/new-index-machinery

ENH: Reimplementing the indexing machinery
Merge pull request #4274 from arunpersaud/ap/rfft-doc-fix-typo

DOC: fixed small type in rfft notes
DEP: Deprecate boolean `-` operations

Boolean - is not well defined, especially the unary and
binary operator are not compatible. In general boolean
minus seems to have no real application and does not do
what might be expected.

All "allclose" type functions (numpy, tests, masked) have to
now check for boolean to avoid the deprecation warning. In
the future one could think about removing it again and just
allowing the upcast.