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
Merge pull request #4064 from juliantaylor/import-speed

ENH: improve add_newdocs performance
BUG/ENH: blasdot: make *dot calls 64-bit safe

BLAS uses int for all its size types, so the size is going to be
silently truncated on platforms where sizeof npy_intp > sizeof int,
i.e. on modern 64-bit platforms. In this case, we do a dot product
in reasonably-sized chunks and add the result ourselves.

On platforms where sizeof(int) == sizeof(npy_intp), i.e. typical
32-bit platforms, it's up to the compiler to optimize the loop away.

Also tried to make the code more readable, replaced int by npy_intp
in a few places and removed useless register declarations (modern
compilers ignore those).
ENH: dotblas: re-route all cblas_?dot calls to chunked versions

Also factored out and simplified NumPy->BLAS stride conversion.