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
Add fractional second support to str{p,f}time

The ISO 8601 standard does not mandate any specific precision for
fractional seconds, so this accepts input of any length, ignoring the
part after the nanoseconds place. It may be more correct to round with
the tenths of nanoseconds digit, but then we'd have to deal with
carrying the round through the entire Tm struct (e.g. for a time like
Dec 31 11:59.999999999999).

%f is the format specifier that Python's datetime library uses for
0-padded microseconds so it seemed appropriate here.

cc #2350
Fixed makefile to point to the new llvm build directory.
Be sure to reconfigure LLVM even when relocated
Un-hork the bots by removing intermediate files

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 #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.
move and duplicate macro defns in sha2 to make them hygienic

... it would also have been possible to add all of their dependencies,
but that would have increased the already-lengthy list of parameters.
Also, if we had macros that could expand into macro defns, you could
stage it. This seemed like the least painful choice.
disallow ident equality checks when contexts are not equal
fix for issue #7588, overflow now handled correctly
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
auto merge of #8994 : alexcrichton/rust/upgrade-libuv, r=brson

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
commenting out special Eq implementation for now

See the comments for details on why I'm leaving this code
in, though commented out.
rename resolve to mtwt_resolve