ENH: use dot (BLAS!) in linalg.norm
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.
ENH: intern some commonly used strings in umath module

Allows using the PyObject dictionary functions instead of the costly
C-string variants.

Make use of this in some of the ufunc subtype wrapper functions.

Improvement:

    a, b = np.arange(200.), np.arange(200.)
    %timeit np.add(a, b, out=a)
    1000000 loops, best of 3: 768 ns per loop

vs before:

    %timeit np.add(a, b, out=a)
    1000000 loops, best of 3: 1.03 µs per loop
ENH: skip redundant checking of subok keyword in _find_array_prepare

all currently existing callers only call this function if subok has
already been checked to be true, but keep the code to make clear it has
to be checked.
Merge pull request #4058 from juliantaylor/intern-strings

ENH: intern some commonly used strings in umath module
BUG: fix incorrect type in binomial ditsributions.c

This caused slowness and wrong/potentially wrong results
when the binomial result is larger then a native C int.

Closes gh-3352
Merge pull request #4098 from seberg/issue-3352

BUG: fix incorrect type in binomial ditsributions.c
ENH: use PyObject_CallFunctionObjArgs in Generic*Function

ObjArgs is a few percent faster than the format version. This is
noticable in scalar operations.
Merge pull request #4106 from juliantaylor/objargs

ENH: use PyObject_CallFunctionObjArgs in Generic*Function
Correct typo in interp() docstring.

The docstring for interp() contained the grammatically-incorrect text "defaults is". I corrected this to "default is".
Merge pull request #4111 from chrisdembia/patch-1

Correct typo in interp() docstring.
MAINT: setup.py improvements - allow some setuptools commands to work.
Merge pull request #4110 from rgommers/setuppy

MAINT: setup.py improvements - allow some setuptools commands to work.
BLD: fix syntax errors in bento.info
BLD: fix Bento build issue with new .h.src templating.
TST: add Bento build to Travis CI runs.
MAINT: remove useless email notification in .travis.yml
DOC: update version number in bento.info
BUG: fix loading from compressed .npz (Issue 4093)

In Python 2.6.x the number of bytes read from a zip file is 2^16, which
is less than the 2^18 requested by lib.format.py. This change handles
the case where fp.read() returns fewer than the requested number of bytes.