Replace select(2) with poll(2)

To remove the arbitary limit on file descriptors and consequently,
number of forked processes, use poll(2) instead of select(2).

Using poll(2) has the downside that poll(2) has restrictions on what
type of file descriptors can be monitored, for example, devices on Mac
OS X, since on the roadmap is allowing the user to add fd's to the event
loop.