Guide: strings

I decided to change it up a little today and hack out the beginning of the String guide. Strings are different enough in Rust that I think they deserve a specific guide, especially for those who are used to managed languages.

I decided to start with Strings because they get asked about a lot in IRC, and also based on discussions like this one on reddit: http://www.reddit.com/r/rust/comments/2ac390/generic_string_literals/

I blatantly stole bits from our other documentation on Strings. It's a little sparse at current, but I wanted to start somewhere.

I am not exactly sure what should go in "Best Practices," and would like the feedback from the team on this. Specifically due to comments like this one: http://www.reddit.com/r/rust/comments/2ac390/generic_string_literals/citmxb5
I actually have no idea why we even use `{:s}`. It can't be implemented on anything (because it's implemented in terms of `Str`), so the only two scenarios where it makes a difference are:

1. Some third-party type that implements `Str` and either doesn't implement `Show`, or implements it to print something other than the string it returns from `as_slice()`
2. A type that implements `Deref<str>` and also implements `Show`, and it's `Show` implementation prints something other than the contained string

And the second case isn't even possible until DST is done.

Hopefully at some point in the future once we have new trait coherence rules we'll be able to manually implement `fmt::String` on types, thus allowing `{:s}` and `{}` to intentionally behave differently, but at the moment it's a useless formatting token.

**tl;dr**: Change this example to use `{}`.