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
Why do you think String is for ownership and &str is not? It's because these types are _defined_ like that. But you did not tell the reader about it so far. The first time "ownership" comes up at this line. And that's what I was referring to. It's too late. Ownership is part of what _defines_ the distinction between String and &str. The best practice pretty much falls out of that given that cloning Strings is much more expensive than lending them via slices (if cloning them would be as cheap as copying an int we would probably not bother with &str in lots of cases).