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)
Just to be clear, I didn't mean to imply that macros could express shallow generators directly.

Instead, I was trying to say that (as a systems language) Rust could express shallow generators the same way that C can (unsafely, but with a safe interface), and that macros could express async/await on top. I'm not sure if that ends up being true, but I have a hunch that it is :wink: