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)
@sfackler 

> The new semantics of `write` seems like they'll make the transition a bit dangerous. Are there any plans to do some work to reduce the danger a bit? Maybe deprecating the current `write` and adding `write_all` that calls through to it on the current `Writer` before this merges?

That's a great idea.