Deprecate some unsafe functions in `str::raw` and remove `OwnedStr` trait

### Removed the `OwnedStr` trait

This trait was only implemented by `String`. It provided the methods `into_bytes` and `append`, both of which **are already implemented as normal methods** of `String` (they were duplicated). This change improves the consistency of strings.

Its removal shouldn't break any code, except if somebody has implemented `OwnedStr` for his own types.

### Deprecated some unsafe functions

* `from_buf_len` in favor of `string::raw::from_buf_len`
* `from_c_str` in favor of `string::raw::from_buf`
* `from_utf8_owned` in favor of `string::raw::from_utf8`
* `from_byte` in favor of `string::raw::from_utf8` (make a new vector with a single byte and call the function)
* `String::from_raw_parts` in favor of `string::raw::from_parts`

[breaking-change]
Switch to `from_buf`?