Collections Reform Part 2

This RFC shores up the finer details of collections reform. In particular, where the previous RFC
focused on general conventions and patterns, this RFC focuses on specific APIs. It also patches
up any errors that were found during implementation of part 1. Some of these changes
have already been implemented, and simply need to be ratified.

[rendered](https://github.com/Gankro/rfcs/blob/collections2/text/0000-collections-reform-part-2.md)
@alexcrichton 

> However, in general it's a pretty dangerous operation to implement `Deref` because it means we'll never be able to backwards-compatible add a method to an `OccupiedEntry` (or `Rc` for that matter).

True, but you can always add extension traits. But I think you make a compelling argument here; we shouldn't implement `Deref` at this point, and we can always add it later if we believe the rest of the API is ready to freeze or it's just to painful to live without.