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)
An additional problem which isn't mentioned here is lack of extensibility - if the functionality you want to use does not exist yet, you must modify libnative/librustuv/librustrt to add the functionality (if you want your code to play nicely with other peoples). There's no way to extend it outwith those crates, unless you want it to only work with the native backend. This is a problem I've faced when wanting to add support for using custom file descriptors/sockets.