Make Tokens hashable

I am working on something in which I wanted to store tokens in a HashMap - this makes it easier :-)
fix typo in Timer.next_tick_in_ms
Implements ReadHint for Hup for Linux

This implements the first part of the strategy outlined in #4.

Closes #4.

It updates the tests to take the read hint in the handlers, and
specifically confirm that they get the DataHint first and then the
HupHint.

I believe that the hints are implementable on all of the backends we
intend to support, so I consider it a bug if those tests don't pass on a
supported platform.

Note that this information is called a "hint" because you still need to
handle errors in your read handler, but this may allow you to skip the
extra `read` syscall as an optimization.
Merge pull request #27 from andrew-d/patch-1

Make Tokens hashable
Improve Show on bitflags
Fix ReadHint test
Update to Rust master

Resolves #30
Fix constant style lint
Remove unused fn Socket::is_acceptor
Reorganize mod structure
Remove EventLoop::shutdown_now stub
Remove EventLoop::listen

Resolves #24
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