ENH: use dot (BLAS!) in linalg.norm
ENH: ma.asarray() and ma.asanyarray() will pass through input of the correct type.

If x is of type MaskedArray for ma.asarray(x) or any subtype of
MaskedArray for ma.asanyarray(x), these functions will simply return x.
This makes them consistent with their numpy counterparts.

Closes gh-4043.
BUG: Fixed mask_rowcols().

Previous implementation relied on ma.asarray() to always create
a new object.

See gh-4043.
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.
BUG: Error checks for the dtype shape.

Also creates a clean tuple for the shape tuple, instead of
passing potentially mutable objects through.

Closes gh-4009
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.
BUG: Fixes Python3 compatibility
TST: Adds test case for Issue 4093
STY: pep8
MAINT: Better handling of very small chunks

Issue 4093: Improved the handling of the case when the amount of data
read by fp.read is smaller than dtype.itemsize. Also changed the test
code to make sure this case is tested.
MAINT: Introduced _read_array function

This wrapper function is used everywhere in format.py now to ensure to
correctly the handle the case when fp.read returns fewer bytes than
requested.

Also added a test for the orignal bug, loading an array of size more
than 64K from a zip file.
MAINT: Change test to read random sized chunks

Speeds the test up vs. reading single bytes at a time, and is now
correctly handled when reading the magic string and array header.
Merge pull request #4115 from msperlich/master

BUG: fix loading from compressed .npz (Issue 4093)
BUG: Propagate error when assigning an instance to an array item.

Prior to this fix, numpy would swallow an error that may occur when
an instance of an old-style class would be used to set an item in an
incompatible array.  This would result in a SystemError.

Fixes #2276.