Add epoll() and fix re-entrancy bugs.
Fix destructor.
Darwin support for select/poll.
Add a kqueue implementation.
Fix up epoll.