RFC: Split Show into String and Show

Today's `Show` trait will be tasked with the purpose of providing the ability to
inspect the representation of implementors of the trait. A new trait, `String`,
will be introduced to the `std::fmt` module to in order to represent data that
can essentially be serialized to a string, typically representing the precise
internal state of the implementor.

The `String` trait will take over the `{}` format specifier and the `Show` trait
will move to the now-open `{:?}` specifier.
Add a drawback of the String trait as defined
Clarify FromStr and String
Add a sentence about not using Show output for reconstruction
Tweak wording to recommend, but not require round-tripping
Merge branch 'show-and-string' of https://github.com/alexcrichton/rfcs into alexcrichton-show-and-string
RFC 504 is Split Show into String and Show
Merge branch 'alexcrichton-show-and-string' into HEAD