Remove lots of uv/C++ wrappers
Provide cleaner initialization of uv handles
uv: Provide a helper fn to Result<(), IoError>
uv: Remove closure-based home_for_io for raii

Using an raii wrapper means that there's no need for a '_self' variant and we
can greatly reduce the amount of 'self_'-named variables.
auto merge of #10256 : alexcrichton/rust/less-wrappers, r=pcwalton

This removes a large number of the wrapper functions from libuv. Most of these only existed for weird linker purposes, but now that we're statically linking libuv to librustuv, we can use them all directly (as they were intended to be!

This also refactors a bit of uv handle initialization/management, purely to reduce the amount of code that's needed to look at.

Finally, this removes the `home_for_io` closure-based function, replacing it with an RAII-oriented function (fire_missiles!)