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)
@thestinger 

> This section conveys a poor understanding of how file permissions work on different platforms. Functions like `chmod` are a no-op *on Linux* for many file systems. There's nothing wrong with exposing them on Windows too, because the behaviour is actually consistent with Linux and other *nix OSes for the same file systems (FAT32, NTFS, etc.).

I should have been more clear: this is just an initial step away from our current design which is rather Unix-biased; it does not mean that we would *never* support a richer cross-platform permissions model, but we would need to iterate on such a design and the thrust here is to pare down our current commitments. The API is specifically designed to allow growth over time.