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.
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.
STY: change and delete some comments in recfromcsv

Removed two irrelevant comments about code history.

P.S. my first try with Github's online editor.
BUG:change formatting of assert_array_almost_equal

assert_array_almost_equal now prints the number of digits that were
being compared in the test instead of always printing 8 (the default
for array_repr). This would lead to uninformattive error messages.

Fixes #2367
TST: Add tests for build_err_msg
ENH: Add check for ndarray/scalar in build_err_msg

This check is needed now that build_err_msg takes a precision argument,
which is only relevant if the things being compared are ndarrays.
TST: Add exception message formatting tests

assert_approx_equal & assert_almost_equal make internal use of
build_err_msg so a few tests have been added to check that the errors
are formatted correctly.
BUG: Fix non-compatible py3 property
TST: Remove test that makes no sense

It's silly to check scalars when their string representations will vary
so much from system to system.
ENH: export nose.tools.assert_raises_regex via numpy.testing.utils
BUG: fix incorrect minlength handling in np.bincount
TST: Change tests to look at array formatting only

The tests were looking at the formatting of other elements in the string
which is not relevant for the things testsed in this case. By looking
only at the array formatting, we guarantee consistency across systems.
BUG: fix fancy indexing with negated strides

When strides where negated and the subspace had a size of 1, then
finding the output array strides did not work because
DONT_NEGATE_STRIDES was not set on the iterator used to find
the output arrays strides.
ENH: use super optimized count_boolean_trues in indexing subfunction

speeds up e.g. a[..., boolmask]
Merge pull request #4541 from ElDeveloper/issue-2367

BUG:change formatting of assert_array_almost_equal
Merge pull request #4542 from immerrr/fix-bincount-systemerror

BUG: fix some errors raised when minlength is incorrect in np.bincount
Merge pull request #4557 from juliantaylor/index-nonzero

ENH: use super optimized count_boolean_trues in indexing subfunction