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)
This is currently implemented in terms of just [`_pipe`](http://msdn.microsoft.com/en-us/library/edze9h7e.aspx) which we do not want to rely on long-term. Part of the design of OS-specific modules and the hierarchy of `std::os` and `std::io` allows for the APIs to grow over time. Moving an API into `std::os::unix` is not always declaring that it's impossible to do on windows but rather that we do not have a satisfactory windows implementation at this time.

Over time we'll fill out the functionality on windows and promote functions like this to `std::io` as necessary. Note that this largely only reflects on existing functionality, I don't think we want to open the floodgates to a bunch of unix-only functionality just yet if there's an equivalent on windows.