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
This is conflating mutable slots with mutable strings. In Rust, *any* immutable value stored in a mutable slot can have the slot reassigned to a new immutable value. But the way you're talking about this makes it seem like `&str` itself is potentially mutable, and it's not.

This should probably remark on how string slices are immutable. Unlike other reference types, `&mut str` is not valid. It is a legal type, but you cannot construct a value of type `&mut str` (without `unsafe`), and even if you could there's no way to actually mutate it.