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 reregister / deregister semantics on kqueue
Fix compilation errors due to enums namespacing.
Borrow mutable references with Slab#get_mut
Implement Unix domain sockets support
support EMPTY_TIMER