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
You already stated earlier that `String` is guaranteed to be valid UTF-8. The "if created safely" here contradicts that. It should be dropped. Code that uses `unsafe` to create an invalid `String` is just plain wrong, just as code that uses `unsafe` to construct a `&T` reference that doesn't refer to a valid `T` value is.