std::rt: Some I/O cleanup
std::rt: Add libuv bindings for getaddrinfo
std::rt: Add get_host_addresses function

This is a very simplistic method for host name resolution. It converts
a host name to a vector of IP addresses. Should be enough to get started.
std: Remove push_fast from OwnedVector. Closes #8769

This is an unsafe implementation detail of `push`.
std::rt: Fix addrinfo definition on BSD
Fixed makefile to point to the new llvm build directory.
auto merge of #9018 : alexcrichton/rust/fix-bots, r=huonw

The new glob tests created tmp/glob-tests as a directory, but the never removed
it. The `make clean` target then attempted to `rm -f` on this, but it couldn't
remove the directory. This both changes the clean target to `rm -rf` tmp files,
and also alters the tests to delete the directory that all the files are added
into.
auto merge of #9000 : brson/rust/dns, r=anasazi

This exposes a very simple function for resolving host names. There's a lot more that needs to be done, but this is probably enough for servo to get started connecting to real websites again.
auto merge of #9002 : brson/rust/issue-8769, r=catamorphism

This is an unsafe implementation detail of `push`.
auto merge of #9017 : vadimcn/rust/rustllvm-build, r=alexcrichton

After recent build directory reorg, building from scratch fails (at least on Windows), because it can't find llvm-config.h.
Upgrade libuv to the current master (again)

This is a reopening of the libuv-upgrade part of #8645. Hopefully this won't
cause random segfaults all over the place. The windows regression in testing
should also be fixed (it shouldn't build the whole compiler twice).

A notable difference from before is that gyp is now a git submodule instead of
always git-cloned at make time. This allows bundling for releases more easily.

Closes #8850