Start replacing select.select() for select.poll()
Move poll() logic to it's own class, and adapt Supervisor to use it.

Also fixing the poll() usage, my previous commit was registering all
file descriptors to all events, now register just on the expected events.
Remove select() method from Options class used by Supervisor
Ignores and unregisters closed file descriptors on poll()
Adjust log message to be more explicit
Handle POLLHUP on poll()
Add kqueue() support for poller
Add select() support for poller when no poll() or kqueue() is available. Make all tests pass for py>=2.5
Handle EBADF on kqueue poller backend
Use set instead of list for readables and writables on SelectPoller
Restore kqueue after daemonize because it's not inherited on fork()
Remove file descriptor from sets on unregister() for kqueue poller
merge into current master, make work under py3
avoid an infinite recursion error when lots of processes are getting destroyed at the same time