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)
`RawPtr<T>` can't ever be implemented on `T: Unsized` anyway, because the `read()` method returns a `T`, which is only valid if `T` is sized.