Allow timers and receiver to run if any IO was handled
Use the NIO response for determining IO
Merge pull request #52 from halorgium/run-timers-and-receivers-after-io

sleep blocks forever after using sockets