MAINT: dotblas: factor out all gemm and gemv calls
ENH: improve add_newdocs performance

replace slow exec with a direct __import__.
improves `import numpy` speed by about 10%.
Merge pull request #3980 from larsmans/refactor-gemm-gemv

MAINT: dotblas: factor out all gemm and gemv calls
DOC: Improved doc for boolean array indexing
Merge pull request #4064 from juliantaylor/import-speed

ENH: improve add_newdocs performance
ENH: Use nditer in numpy.save to stream bytes to custom file objects
TST: Increase test coverage of numpy.save/load roundtrips
Merge pull request #4077 from ogrisel/streaming-numpy-save

Streaming numpy.save to arbitrary file objects
DOC: further improvements for boolean array indexing doc
ENH: implement pairwise summation

pairwise summation has an average error of O(log(n)) instead of O(n) of
the regular summation.
It is implemented as summing pairs of small blocks of regulary summed
values in order to archive the same performance as the old sum.

An example of data which profits greatly is
d = np.ones(500000)
(d / 10.).sum() - d.size / 10.

An alternative to pairwise summation is kahan summation but in order to
have a low performance penalty one must unroll and vectorize it,
while pairwise summation has the same speed without any vectorization.
The better error bound of O(1) is negligible in many cases.
ENH: umath: simplify pairwise sum

Simple recursive implementation with unrolled base case. Also fixed
signed/unsigned issues by making all indices signed.

Added a unit test based on @juliantaylor's example.

Performance seems unchanged: still about a third faster than before.
DOC: further tweaks to boolean indexing doc to improve clarity
Merge pull request #4066 from garyo/master

DOC: Improved doc for boolean array indexing
BUG: Fix np.insert with negative axis.

In some cases a negative axis argument to np.insert would result
in wrong behaviour due to np.rollaxis, add modulo operation to
avoid this (an error is still raised due to arr.shape[axis]).

Closes gh-3494
TST: add test for negative axis values in np.insert.
ENH: fix stride issue and unroll 8 times to improve accuracy

Fix missing stride accounting in calling recursive function.
Unroll 8 times to improve accuracy and allowing vectorizing with avx
without changing summation order.
Add tests.
Merge pull request #4089 from seberg/issue-3494

BUG: Fix negative axis insert (issue 3494)
ENH: also use pairwise summation for half and complex types
BUG: fix NaT handling in _strided_to_strided_string_to_datetime

When converting an array of strings to datetime64, a "NaT" occurring
in the input would cause all subsequent values to be converted to NaT.
Merge pull request #4094 from cgwaldman/master

BUG: fix NaT handling in _strided_to_strided_string_to_datetime