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)
>Setting POSIX permissions on FAT32 is a no-op on Linux just as it is a no-op on Windows

@thestinger: Sounds like `chmod` in its current form is a landmine.  Programs call APIs because they expect them to do *something*, so exposing an API that silently fails is an invitation to bugs; perhaps even security bugs, given the nature of this function.  That it fails in the same way for FAT32 on Linux does not make it okay,- how many people are going to test with anything but the default file system?  
At the very least, `chmod` should return an error if it isn't supported.