ENH: optimize byteswapping via intrinsics

Byteswapping is implemented in hardware on x86 cpus which is more than
double as fast than the existing implementation.
The masked version used for 32bit plays better with compiler pattern
matching so it can be optimized also by non-gcc/clang compilers.
Merge pull request #3309 from juliantaylor/optimize-byteswap

ENH: optimize byteswapping via intrinsics
BUG: Correctly pass on ddof paramter on inside np.ma.corrcoef

While ddof has basically no effect on corrcoef, it exists,
but it was not passed on correctly (instead only bias would
be passed on). Fixes gh-3336
Merge pull request #3337 from seberg/issue-3336

BUG: Correctly pass on ddof paramter on inside np.ma.corrcoef
DOC: update numpy.distutils documentation, remove info.py details.

Addresses https://github.com/scipy/scipy/issues/2492
Merge pull request #3340 from rgommers/distutils-doc

DOC: update numpy.distutils documentation, remove info.py details.
ENH: improved, faster algorithm for array padding

New padding method which scales much better with dimensionality.
This new implementation is fully vectorized, builds each abstracted
n-dimensional padding block in a single step, and takes advantage
of separability. The API is completely preserved, and the old
algorithm is used if a vector function is input for `mode`.

The new algorithm is faster for all tested combinations of inputs,
and scales much better with dimensionality. Execution time reductions
from ~25% for small rank 1 arrays to >99% for rank 4+ arrays observed.
Merge pull request #3329 from JDWarner/faster_arraypad

ENH: improved, faster algorithm for array padding