Ownership guide

This is a work in progress, but this should get *extensive* review, so I'm putting it up early and often.

This is the start of a draft of the new 'ownership guide,' which explains ownership, borrowing, etc. I'm feeling better about this framing than last time's, but we'll see.
I recently ran into a bunch of problems with lifetimes and structs. I had code like:

```rust
trait Bar;
struct Foo<'a> {
  bar: Box<Bar + 'a>
}
```

The solution to simplify the lifetimes of the program was to do this:

```rust
trait Bar;
struct Foo {
  bar: Box<Bar + 'static>
}
```

I'm not entirely sure what's going on there... obviously the `Box<Bar>` isn't around for the life of the program. Does static just say "It needs to be around for the life of `Foo`"?