Fixing memory leaks
Improve EventLoop IO interest handling

* Change io::read/write to not use a loop
* Return the count of bytes read / written
* Allow specifying IO interests when registering
* Add EventLoop#reregister and EventLoop#register_opt
Add a .deregister() method to the event loop.

Closes #29
Merge remote-tracking branch 'markuskobler/master'
Fix compilation errors due to enums namespacing.