Track Rust master
Add support for UDP sockets/connectionless sockets

Add support to mio for listening and managing UDP sockets, including
infrastructure for supporting unconnected sockets (i.e. using
recvfrom/sendto) and appropriate interfaces to be exposed for
connectionless sockets.

Additionally, adds support for multicast listener/transmitter sockets.
Track Rust master
Track Rust master
Merge pull request #39 from mikedilger/minorfixes

Track Rust master
Add shorthands for creating listening sockets

These a of particular use when you e.g. receive socket address to listen from
downstream code or from configuration file. They also make UDP and TCP API look
a bit more similar to what stdlib provides and reduce typing for very common
cases. 3 methods added:
- SockAddr.family() get AddressFamily of the address
- UdpSocket::bound() create listening UDP socket similar to stdlib
  UdpSocket::bind()
- TcpAcceptor::new() create listening TCP socket hiding intermediate steps
Add methods for converting between stdlib and ad-hoc SockAddr

As mio is concerned with few memory allocations, two versions of each function
are provided: consuming (no clone()) and using reference (with clone()).
Use Vec []-operator instead of deprecated get_mut
Refactored EventLoop::timeout_ms to use Duration instead of u64.
[fix] Slab.contains()
[test] Slab.contains()
Merge remote-tracking branch 'rozaliev/fix_slab_contains'
[fix] import path for FromStr
Reexport enums variants

With https://github.com/rust-lang/rust/pull/18973 merged enum variants are namespaced. They should be reexported or used like Enum::Variant.
Import num::Int
Fix deprecation warnings
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'