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)
Even for cases without a Windows implementation (`lstat`), the fix is generally so simple that I can't see how moving it is justified. This (lack of) reasoning means that there's going to end up being a bunch of legacy platform-specific wrapper APIs with no purpose beyond confusing people and making code less portable.