Allow the benchmark utilities to specify loop and transport
Change the tcp transport to use deque to hold data packets
Explicitly remove the wakeup event from the run loop
Forget the fileno when detaching the run loop from a socket