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
BUG: fix unaligned access of new indexing

Requires 16 bytes alignment from string and flexible dtypes, as
processing functions might access them on the itemsize which can be
larger than 1 byte (e.g. 8 bytes strings)
16 byte the largest alignment required for all numpy copy loops.
Closes gh-4314