First whack at UDP send/receive sockets for Mio

Add initial support to MIO for UDP sockets, including the ability to
join multicast groups and listen. Still need to add support for
recvfrom/sendto, but works just fine for connected UDP sockets.

Depends on nix-rust having pull request https://github.com/carllerche/nix-rust/pull/12
Interesting, but it's only sockets then? So maybe the trait can be `UnboundSocket` in net.rs? Also, does it make sense to split it up into 2 traits vs. a single UnboundSocket? As in, can there be a reader w/o a writer or the other way around?

If you can do this and rebase, I can merge into master (assuming all tests pass of course :)). Any further tweaks can happen on the main branch.