New ownership guide

This is the start of the new "Ownership" guide, to replace the lifetimes guide.

I'm still working on it, but I wanted to share my progress, as this guide is _very_ important, and I'd like as many eyes on it as possible. :smile: 
... I'm not sure this advice is so useful. IMO it's not useful to call the lifetime of a struct `'struct` (even if it were legal), if one was actually going to use a name, it's more useful to relate it to what is being stored, e.g.

```rust
struct SomeStruct<'s> {
    a_string: &'s str
}
```

As a real-world example, the compiler calls the lifetime of the "type context" [`'tcx`](https://github.com/rust-lang/rust/blob/09abbbdafc08654b78c8529c1a0c03d628bb2d91/src/librustc/middle/typeck/mod.rs#L284-L288).

However, in *almost all* cases, things have just one lifetime and there's not much gained from calling it anything but `'a`.