Always restart epoll_reactor operations if the callback handler indicates
that they should be restarted, even if there was an error associated with
the file descriptor, to ensure that operations don't get "lost".
Don't cleanup pending timer objects while the reactor lock is held, since
the destructors for the objects may try to make calls back into the
reactor.