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.
initial commit of new infix matrix multiply PEP
Many updates to draft PEP incorporating feedback
add mention of ellipsis
bold the 'dot' row of table
more table format tweaking. too bad .rst sucks at this!
switch to just use text for the table, it's easier to read!
more text tweaks
tweak tweak
more edits
move intended usage section after motivation
add negative power support to @@
MAINT (API?): organize npyio.recfromcsv defaults

Organizes the default kwargs in recfromcsv. Changes two undocumented
kwargs behaviors:

*  previously, if a user set `names=None`, it was ignored and replaced
   with `names=True`
*  the `dtype` kwarg was ignored. If `update` was given, it was used as
   `dtype`, and if not, None was used. We can retain the `update` behavior
 by using `kwargs.setdefault("dtype",kwargs.get('update', None))`.
  This Closes #311 .
TST: Added regression test for recfromcsv dtype error, as suggested by @hpaulj
DOC: npyio.recfromcsv keyword argument changes

Added a note to recfromcsv about the `dtype` keyword,
as suggested by @hpaulj. Also added a note to the release notes,
about the change in the `update` keyword, as suggested by @charris.
edit edit
More edits; pretty clean at this point.
add some more fields to the Big List o' Fields
make the initial section even more overwritten