Add low level support for polling with librustuv.

 * Adds functions for using arbitrary sockets with libuv
 * Adds types and functions required to support this.
auto merge of #15604 : mrmonday/rust/raw-socket-libc, r=alexcrichton

This pull request adds some necessary function definitions and types for doing low level networking with Rust.
Deprecate `str::from_utf8_owned`

Use `String::from_utf8` instead

[breaking-change]
Deprecate `str::from_chars`

Use `String::from_chars` instead

[breaking-change]
Deprecate `str::from_char`

Use `String::from_char` or `.to_str` instead

[breaking-change]
Deprecate str::from_byte

Replaced by `String::from_byte`

[breaking-change]
Deprecate `str::from_utf16`

Use `String::from_utf16` instead

[breaking-change]
Deprecate `str::from_utf16_lossy`

Use `String::from_utf16_lossy` instead.

[breaking-change]
Deprecate `str::from_utf8_lossy`

Use `String::from_utf8_lossy` instead

[breaking-change]
Fix errors
auto merge of #15426 : aochagavia/rust/str, r=alexcrichton

* Deprecated `str::from_utf8_owned` in favor of `String::from_utf8`
* Deprecated `str::from_utf8_lossy` in favor of `String::from_utf8_lossy`
* Deprecated `str::from_utf16` in favor of `String::from_utf16`
* Deprecated `str::from_utf16_lossy` in favor of `String::from_utf16_lossy`
* Deprecated `str::from_chars` in favor of `String::from_chars`
* Deprecated `str::from_char` in favor of `String::from_char` and `.to_string()`
* Deprecated `str::from_byte` in favor of `String::from_byte`

[breaking-change]