RFC: conventions for placement of unsafe APIs

This is a *conventions RFC* for settling the location of `unsafe` APIs relative
to the types they work with, as well as the use of `raw` submodules.

The brief summary is:

* Unsafe APIs should be made into methods or static functions in the same cases
  that safe APIs would be.

* `raw` submodules should be used only to provide APIs directly on low-level
  representations.

[Rendered](https://github.com/aturon/rfcs/blob/unsafe-api-location/active/0000-unsafe-api-location.md)
So why do we need a separate module for an incredibly specific subset of `unsafe` APIs, but not the rest? If `unsafe` is enough to deter usage, then it doesn't make sense to split any of them to another module. If it's not enough to deter usage, then they should *all* be consistently split out. The rule about construction from raw representations is too specific to make sense as a general rule. If `set_len` or `set_ptr` deserve a method, so does `from_raw_parts`. It's no less safe and doesn't expose more of the internal workings than are already exposed.