Setting timer fd as CLOEXEC and NONBLOCK

To provide tight event loop one has to process events as fast as
possible and blocking call would not only ruin it, but it would block
the whole event handling loop.
More robust error handling with retries and assertions

While reading The Net it was clear that epoll() implementation wasn't
without its bugs. Seems that calling epoll_ctl() with EPOLL_CTL_ADD may
fail with EINVAL in some cases when file descriptor was duplicated.
Workaround for some cases is to try EPOLL_CTL_MOD. Hope that there was
no confusien, but this patch can't harm. Yeah, famous last words.