RFC: Raw Reform

* Introduce RawSlice and RawMutSlice extension traits to be implemented on
`*const [T]` and `*mut [T]` that provide parts of the slice and ptr API to better bridge the
gap between the two.

* Provide unsafe versions of the slicing and indexing operators on raw slices to provide ergonomic
unchecked slice manipulation.

* Provide unsafe versions of the addition, subtraction, and indexing operators on raw ptrs to
provide more ergonomic ptr manipulation.

* Deprecate some of the free functions in `ptr`, and duplicate the rest as convenience methods on
the RawPtr extension traits.

* Deprecate *all* `unsafe` methods on slices and `slice::raw` in favour of raw slices.

* Add conversion methods to the three families of extension traits for conveniently moving between
them.

[Rendered](https://github.com/Gankro/rfcs/blob/raw-reform/active/0000-raw-reform.md)
No. I'm actually somewhat inclined to say I don't agree with pointer arithmetic. Pointer arithmetic, as `a + b`, can be one of the most confusing aspects of dealing with pointers, partially because it looks like regular arithmetic, and partially because the actual value of the result depends not just on the value of `b`, but also on the size of the type of `*a`. For this reason, I'm leaning towards saying that we should just not have pointer arithmetic and continue to use the `.offset()` method.