ENH: Speed improvements and deprecations for np.select

The idea for this (and some of the code) originally comes from
Graeme B Bell (gh-3537).
Choose is not as fast and pretty limited, so an iterative
copyto is used instead.

Closes gh-3259, gh-3537, gh-3551, and gh-3254
Merge pull request #4358 from seberg/fast-select

ENH: Speed improvements and deprecations for np.select
STY: Fix some multiline C comments in npy_3kcompat.h.
Merge pull request #4545 from charris/style-fix

STY: Fix some multiline C comments in npy_3kcompat.h.
MAINT: fix unused variable warning
MAINT: ignore some more generated C files
ENH: add support for python ABCs

Beginning with version 2.6, python supports abstract base classes,
which contain a class hierarchy for numbers. This class hierarchy is
very similar to the one of numpy, so it is very easy to register
the numpy type hierarchy with the python type hierarchy.

This patch adds those registrations and also adds unit tests for it.
ENH: add numerator and denominator to integers

numbers.Integral types are supposed to have a numerator and
denominator attribute. This adds those two trivial attributes.
Merge pull request #4365 from larsmans/c-fixes

MAINT: fix unused variable warning
Merge pull request #4547 from tecki/master

add support for python ABCs
ENH: export nose.tools.assert_raises_regexp via numpy.testing.utils
BUG: fix incorrect minlength handling in np.bincount