ENH: replace Py_BuildValue with faster PyTuple_Pack
ENH: replace PyUFunc_GetPyValues with faster _get_bufsize_errmask

avoids unnecessary creation of unused error objects.
MAINT: remove unused variable
ENH: early return from PyArray_EquivTypenums if the numbers are equal
Merge pull request #4010 from juliantaylor/reduce-opt

reduction micro optimizations
ENH: avoid expensive clears in fenv functions

Clearing is 50-100 times more expensive than checking on x86, so check if there
is anything needs to be cleared first. This speeds up scalar operations
by 10%-20%.
Based on Arink Verma code in #3739.

Implement the functions as new C-API functions npy_get_floatstatus and
npy_clear_floatstatus in npy_math.
Merge pull request #3974 from juliantaylor/fenv-improve

ENH: avoid expensive clears in fenv functions
Improve MinGW-w64 compatibility on 64-bit Windows.

- try to disable generation of calls to ___chkstk_ms when compiling
  fortran code (better than adding dependency to gcc when linking with
  MSVC)
- always link to gfortran dll when compiling with gfortran