New guide: crates and modules

This is an almost-done draft of a guide on crates and modules. This is a hard guide to get right, I had to remove a chunk of the Guide because it was confusing.

I've also pushed up https://github.com/steveklabnik/phrases which has matching code. Whenever we finish this guide, I think it'd be good to have a sample crate like this in the rust-lang org for people to compare against. The hardest part of a guide like this is that it depends on multiple files being correct, and being able to point to a repository would be very helpful.

Things yet to do:

1. external crates via cargo
2. documentation

I'm super open to still revising this if it's still confusing. There's been a lot of Reddit discussion about the module system, and I tried to incorporate those posts and the comments into this.
I might have expected this to work but it doesn't:
```rust
pub use ::farewells::goodbye;
//     ^ No self
```
[Here](https://gist.github.com/DanielKeep/470f4e114d28cd0c8d43) he reasons that:
```rust
// Invalid in `use`
use ::f;

// Valid in `fn`
fn g() { ::f() }
```

Might be worth pointing out or explaining why `::a != self::a` or what `::a` denotes that makes this fail.