Reduce a large amount of uv boilerplate

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!)