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.
DOC: Document assert_raises_regex in numpy reference.
ENH, MAINT: Use an abstract base class for the polynomial classes.

The new base is ABCPolyBase and is intended to replace the use of the
polytemplate string.  In this way the need to compile the polynomial
classes on import is avoided.

Closes #634. Closes #3639.
DOC: Cleanup polyutils.py module documentation.

Also note that PolyBase is no longer to be used.
DOC: Fixup documentation for new way of generating classes.

Move the class documentation to the place of definition in the
appropriate module. This allow for documenting the specific series kind
along with the series specific default domains and windows

Remove template placeholders from the ABCPolyBase class documention.

General fixup of documentation that rendered poorly.
DOC: Document change of polynomial classes base class in release notes.
DEP: Deprecate the numpy/polnomial/polytemplate.py module.

Make the version of its removal Numpy 1.10.0.
ENH: compile casting loops with O3 to enable vectorizer

improves performance of some casts by 25%-50%
ENH: write integer compare loops in way the compiler can vectorize them

current compilers (gcc 4.8, clang 3.4) are not good in vectorizing these
loops but at least for bytes and shorts they do give decent
improvements. Properly vectorizing the operations like already done for
floats is tedious and not probably not worth the effort, especially as
64 bit integer compares only exist in SSE4 and can thus not be used by
default.
ENH: use smallest integer for tri ranges

reduces buffer copy and comparison overhead for boolean outer product
Merge pull request #4562 from juliantaylor/opt-cast-loop

ENH: compile casting loops with O3 to enable vectorizer
Merge pull request #4561 from juliantaylor/int-vectorize-compiler

allow compiler vectorization of integer compares
Merge pull request #4558 from charris/document-assert_raises_regex

DOC: Document assert_raises_regex in numpy reference.
DOC: remove obsolete NA reference from polyfit docs
Merge pull request #4531 from charris/polynomial-abstract-base

Use polynomial abstract base instead of template.
Merge pull request #4566 from juliantaylor/na-doc

DOC: remove obsolete NA reference from polyfit docs
BUG: Fix for issue #3213

Two changes to numpy.ma.core._check_fill_value:

1. When the fill value is a string and the array type is not one of
   'OSUV', raise TypeError instead of using the default fill value.

2. When the fill value overflows the type, raise TypeError instead
   of OverflowError.

Closes #3213.