Remove 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` (not as trait methods). This change improves the
consistency of strings.

This shouldn't break any code, except if somebody has implemented
`OwnedStr` for a user-defined type.
Deprecated `str::raw::from_c_str`

Use `string::raw::from_buf` instead

[breaking-change]
Deprecated `str::raw::from_utf8_owned`

Replaced by `string::raw::from_utf8`

[breaking-change]
Deprecated `str::raw::from_byte`

Use `string:raw::from_utf8` instead

[breaking-change]
Deprecated `str::raw::from_buf_len`

Replaced by `string::raw::from_buf_len`

[breaking-change]
Deprecated `String::from_raw_parts`

Replaced by `string::raw::from_parts`

[breaking-change]
Fix travis errors
Add `string::raw::from_buf`
auto merge of #15807 : aochagavia/rust/str, r=aturon

### 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]