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.