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
Fix merge conflicts with master