auto merge of #10328 : alexcrichton/rust/snapshots, r=thestinger
uv: Remove lots of uv/C++ wrappers
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.
Migrate uv timer bindings away from ~fn()
Migrate uv process bindings away from ~fn()
Migrate uv signal handling away from ~fn()
Remove usage of ~fn() from uv async/idle
Remove usage of ~fn from the scheduler
Fixing rebase conflicts and such

This cleans up the merging of removing ~fn() and removing C++ wrappers to a
compile-able and progress-ready state
Start migrating stream I/O away from ~fn()
Migrate uv file bindings away from ~fn()
Migrate uv getaddrinfo away from ~fn()
Migrate uv net bindings away from ~fn()
Clean up the remaining chunks of uv
Don't overflow in a converting stat times to u64

Closes #10297
Add bindings to uv's utime function

This exposes the ability to change the modification and access times on a file.

Closes #10266
Migrate all streams to synchronous closing
Work around bugs in 32-bit enum FFI

cc #10308
Update all uv tests to pass again