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 think you're muddying two kinds of life-time together here. Surely, there are two lifetimes involved with a string slice (or anything other type with ampersand at the front). The lifetime of the variable holding the pointer and length, and the lifetime of the memory pointed at by the slice. With "Like any Rust type" you seem to refer to the former lifetime while the lifetime you actually want to talk about is the "2nd kind". I'm not sure how much value there is in special casing &str as a funny string type in the introduction when it really is a reference to a slice of a string like the ampersand suggests. There is some consistency here. str is almost the same as [u8] except for the fact that it guarantees a valid UTF-8 encoding.