Per taskmanager eventloopgroup

This pull request introduces several improvements/modifications to the io layer. On the sender side, there is no more pull thread issuing the writes to netty, instead the queue is polled event based.
On the sender side we do no longer block,  when no user space buffer is available but register a callback which gets called when a buffer is available again. As we now do not block the eventloops of netty we have only eventloopgroups per taskmanager, not per execution unit anymore.