Update Doxyfile for newer doxygen version

Updated from v1.8.1 to 1.8.7 using doxygen -u. This prevents warnings on
v1.8.7.
Replace libevent with epoll

This comes at a loss of portability (epoll is only available on Linux),
but the libevent dependency wasn't quite worth the trouble.

The RPC code is more efficient with epoll:
1. epoll behaves fairly well in multi-threaded programs, so fewer
   Event::Loop::Locks are needed. They're only needed now when closing
   file descriptors or deleting handlers, not in the fast path for RPCs.
2. Use of one-shot events for writing and persistent events for reading
   requires fewer updates to the set of interesting events during each
   RPC.
Add usleep to spinning unit test

This makes it more valgrind-friendly
Eliminate spurious wakeups for multiple RPCs waiting on a single session

There used to be one condition variable per ClientSession that was
notified any time a response was received. This works well with 1 or 2
outstanding RPCs at a time but slows things down quite a bit with more
threads. This change makes it so that each RPC gets its own condition
variable; it only gets notified when that particular RPC is ready.
Examples/Benchmark: Fix uninitialized flag
Set TCP_NODELAY flag on sockets

This seems to improve throughput for small objects, at least when
running with multiple client threads.