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)
Traits introduce a significant amount of complexity / API surface, and I don't think they should be added without a compelling use case. There's going to be extra complexity in both the implementation and documentation for no apparent reason. A concurrent data structure implemented on top of this API would be incredibly inefficient when used from green threads, making the already non-existent use case for green threads even more questionable.