GBB: New version of select which is several times faster, bugfixes, more input validation, better internal documentation.

GBB: New version of select which is several times faster, bugfixes, more input validation, better internal documentation.

Supports broadcasting, and has a special fast execution path for scalar condlists.
Testing + benchmarks: see https://github.com/gbb/numpy-simple-select/blob/master/README.md

I've run runtests.py as well as my own test harness before submitting. I'm pretty confident this is a drop-in improvement. Please can you merge and test?

(Hi everyone! My first commit to numpy, as proposed by njs. Please let me know if there is anything else I should be doing at this stage). 

2. I've also made a change to the broadcast_arrays() documentation. I think it is easier for a beginner to understand what the function is doing, this way. Personally, I was very confused by the format of the output in the original example.