RFC: IO simplification

This RFC proposes a significant simplification to the I/O stack distributed with
Rust. It proposes to move green threading into an external Cargo package, and
instead weld `std::io` directly to the native threading model.

The `std::io` module will remain completely cross-platform.

[Rendered](https://github.com/aturon/rfcs/blob/io-simplification/active/0000-io-simplification.md)
> It's more convenient to use a high-level AIO API than it is to manage a whole bunch of tasks and deal with message passing. It's also far more efficient and isn't prone to race conditions.

I completely agree with this and this is what I tried to say when we spoke in person. Synchronous IO is convenient **only** if you're trying to describe sequential operations. Otherwise, a higher-level IO abstraction (such as futures) is far more ergonomic **and** can be implemented more efficiently.