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)
Panics shouldn't have side effects in the first place. The parent can print to a stream when it handles the error if that's what is desired. If the exception isn't handled, then it should bring down the process. Silencing logic errors is a bad approach, as is dealing with error reporting by *hard-wiring* lackluster error printing.