Merge pull request #4127 from nouiz/argmax

DOC: Fix doc and error handling in Argmax
BUG: Fix array_split empty array type and add FutureWarning

Fixes the result type of empty output arrays.

The FutureWarning warns about changed behaviour. A "kludge" was
introduced into array split converting converting the result of
something like:

>>> np.array_split(np.array([[1, 1]]), 2)
[array([[1, 1]]), array([], dtype=int64)]

instead of retaining the shape of the empty/second array to
be (0, 2). A FutureWarning is now raised when such a
replacement occurs.

Closes gh-612
BUG|API: Raise wrong arg{min|max} out shape and stricter check

The error was not raised when the output array size did not match
the given out array causing segfaults if the out array was smaller.

This also makes the shape check strict and changes the error
to a ValueError. The shape check could be relaxed for leading
ones. ufuncs and assignments do this.
Merge pull request #4103 from seberg/issue-616

BUG|API: Raise wrong arg{min|max} out shape and stricter check
Add lexsort support for datetime and timedelta
Merge pull request #4133 from ContinuumIO/datetime_sort

Add lexsort support for datetime and timedelta
Merge pull request #4102 from seberg/issue-612

FIX: Array split should not hack empty array shape away
Merge pull request #4112 from rhewett/meshgrid_single

ENH: Allow meshgrid to take 1D and 0D inputs
BUG: Ensure signed division of stride for pairwise sum

Avoids wrong wrapping with i386 12 byte long doubles.
Closes gh-4136.
Merge pull request #4137 from juliantaylor/sumfix

BUG: Ensure signed division of stride for pairwise sum
MAINT: don't use open(.., 'U') in Python 3.x, is deprecated.

This is default behavior in 3.x; in 2.x open() doesn't have a `newline`
kw.  So make code Python-version-specific.
TST: fix test failure due to comparing floats with assert_equal.

Observed on 32-bit linux with python 3.4b1
Merge pull request #4141 from rgommers/py34-fixes

Fix a few issues that show up with python 3.4b1
BUG: linalg: norm fails on longdouble, signed int

This fixes the following bug with longdouble:

>>> x = np.arange(10, dtype=np.longdouble)
>>> np.linalg.norm(x, ord=3)
Traceback (most recent call last):
  File "<ipython-input-5-7ee53a8ac142>", line 1, in <module>
    np.linalg.norm(x, ord=3)
  File "/tmp/v/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 2090, in norm
    return add.reduce(absx**ord, axis=axis)**(1.0/ord)
UnboundLocalError: local variable 'absx' referenced before assignment

As well as the handling of minimal values for signed integers:

>>> x = np.array([-2**31], dtype=np.int32)
>>> np.linalg.norm(x, ord=3)
/tmp/v/lib/python2.7/site-packages/numpy/linalg/linalg.py:2090: RuntimeWarning: invalid value encountered in double_scalars
  return add.reduce(absx**ord, axis=axis)**(1.0/ord)
nan
DOC: matrix_rank
DOC: more matrix_rank docs
Merge pull request #3916 from larsmans/dotblas-64bit-safe

64-bit safe _dotblas
Merge pull request #4144 from larsmans/norm-bugs

BUG: linalg: norm fails on longdouble, signed int
MAINT: remove use of ``reload`` from f2py.  See gh-4139.
DOC: synchronize release notes with 1.7.x