Closes #345. This also consolidates the code from IO#select into Kernel.select.
@MagLev - what do you guys think?
Centralize select system call
Allow nil timeouts
Test for #345
Shouldnt IO already respond to select because it includes Kernel? If so, maybe the argument error should print the correct class this was called on? What error(s) does MRI raise? Is there a Rubyspec? Just thinking that if we touch the code, we might fix a spec or two
Since this still passes, I'll just merge it.