ENH: avoid meshgrid and fancy indexing for 1d masked sort

Improves performance by using the simple indexing path and memory by
avoiding creating a full meshgrid.
TST: remove not important tests to reduce travis load

Remove one of the separate compilation and relaxed strides tests, it is
not worth the cpu time to test these on two python versions.
Use one of them to add a non debug python3.4 test.
Merge pull request #4873 from juliantaylor/masked-sort-memory

ENH: avoid meshgrid and fancy indexing for 1d masked sort
Merge pull request #4875 from juliantaylor/test-reduce

TST: remove not important tests to reduce travis load
DEP: deprecate float as axis argument to reductions

consistent with deprecation of float as slice indices.
Closes gh-4876
DOC: fix return shape of tensorinv doc
Merge pull request #4878 from nouiz:doc
Merge pull request #4877 from juliantaylor/reduce-float-axis

DEP: deprecate float as axis argument to reductions
BUG: core: fix crash when unpickling data on Py3 under non-latin1 encoding
Merge pull request #4882 from pv/fix-unpickle-latin1-crash

BUG: core: fix crash when unpickling data on Py3 under non-latin1 encoding
ENH: core: add hack enabling unpickling Py2 pickled scalars on Py3 under encoding='latin1'

There is a similar hack in place for arrays, but scalar unpickling was not covered.

Provides a workaround for gh-4879
Merge pull request #4883 from pv/fix-scalar-unpickle-py3

ENH: core: add hack enabling unpickling Py2 pickled scalars on Py3 under encoding='latin1'
BLD: fix build issues with MSVC10 on Windows.  Closes gh-4245.

Note that there are a few similar patches posted to gh-4101 and gh-4245.
Those were all patches to msvc9compiler in Python distutils.
Monkeypatching ``MSVCCompiler.link`` is less easy than this change
to ``config._check_compiler``; effect should be the same.

Also updates the error message shown when initializing MSVC fails.

[ci skip]
Merge pull request #4892 from rgommers/msvc10-fix

BLD: fix build issues with MSVC10 on Windows.  Closes gh-4245.
ENH: core: make unpickling with encoding='bytes' work

Make dtype.__setstate__ accept endian either as a byte string or unicode.

Also fix a missing error return introduced in c3551579, apparently
mistake.
BUG: core: ensure unpickled dtype fields and names have correct types + coerce on Py3

That 'names' is a tuple and 'fields' a dict (when present) is assumed in
most of the code base, so check them during unpickling.

Also add coercion from bytes using ASCII codec on Python 3.  This is
never triggered in the "usual" case of loading Py3-generated pickles on
Py3, but can occur if loading Py2 generated pickles with
pickle.load(f, encoding='bytes'), which sometimes is the only working
option.

The ASCII codec is probably the safest choice and likely covers most use
cases.
Merge pull request #4888 from pv/fix-bytes-encoding-unpickle

ENH: core: make unpickling with encoding='bytes' work