MAINT: merge scalarmathmodule into umath module

There is no good reason it needs to be its own module.
Also removes the undocumented pymath alter/restore functions.
DOC note the effect of #1866 in byteorder discussion
ENH: added std::complex support to numpy.i

numpy.i now includes ready-made typemaps for std::complex<float>
and std::complex<double> .  Tests were added to testArray using
a newly defined ArrayZ class.
DOC: fix example in NpyIter docs that didn't compile
Resize: Show an example that explains the potentially confusing behaviour of resize
Merge pull request #5298 from nils-werner/resizedocstring

Expand np.resize docstring
Merge pull request #5162 from juliantaylor/scalarmath-merge

MAINT: merge scalarmathmodule into umath module
DOC: NpyIter chapter: move table to bottom

... so that the example is now the first thing seen after the (short) intro.
ENH: use gcc intrinsic for overflow checked multiplication

More efficient as it uses processor overflow flags if available.
BUG: Closes #5313 PyArray_AsCArray caused segfault
Merge pull request #5217 from jnothman/note-issue-1866

DOC note the effect of #1866 in byteorder discussion
Merge pull request #5301 from larsmans/pyiter-doc

DOC: NpyIter documentation improvements
Merge pull request #5308 from gmabey/swig-std-complex

ENH: added std::complex support to numpy.i
Merge pull request #5314 from hensing/master

BUG: Closes #5313: PyArray_AsCArray caused segfault with 3D-arrays
Merge pull request #5304 from juliantaylor/mul-overflow

ENH: use gcc intrinsic for overflow checked multiplication
DOC: Imrpoved docstring for np.tensordot()
BUG: Closes #2917: numpy.lib._iotools.StringConverter.upgrade return

numpy.lib._iotools.StringConverter.upgrade should have a return value
BUG: fix collections.Hashable behaviour for numpy arrays.
ENH: More explicit error message for np.savetxt
Merge pull request #5322 from yw5aj/tensordot_doc

Imrpoved docstring for np.tensordot()