RFC: io and os reform

This RFC proposes a significant redesign of the `std::io` and `std::os` modules
in preparation for API stabilization. The specific problems addressed by the
redesign are given in the Problems section below, and the key ideas of the
design are given in Vision for IO.

[Rendered](https://github.com/aturon/rfcs/blob/io-os-reform/text/0000-io-os-reform.md)
> According to @alexcrichton, you pay for these tokens whether you use them or not:

> > Note that this is not talking about the thread safety of the syscalls themselves, but the thread safety of our own implementation of deadlines and cancellations on top.

> Just like green threads, Rust will be providing an expensive lossy abstraction not provided by the OS.

It's the opposite: @alexcrichton was explaining the downside of the *current* design with `Clone` and timeouts; the point of the new design is to serve similar needs without this overhead.