Nioeventloop auto select

Allow to detect when runAllTasks() takes a very long time and if so break the loop. NioEventLoop makes use of this to trigger and Selector.selectNow() in that case to give IO the change to get processed.

Not sure if the default values are sane, but it should give an idea about the idea...

@trustin please review