Add Core::Time::getTimeNanos (moved from ClientService)

This is more generally useful than just ClientSerivce.
Fix race in Event::File::release and Event::File::setEvents

Before, setEvents() could only be called safely before any calls to
release(). Now setEvents() is callable safely before, during, and after
calls to release().

Fix #70: crash from use of bad file descriptor in epoll_ctl
Limit rate of connections in Client/LeaderRPC

The current limit is 5 connections every 100 ms: enough to allow clients
to find the cluster leader without delay in most cases, yet keep CPU
usage and other waste low.

Close #53: Client/LeaderRPC needs rate limiting