native, rustuv: Fix spawning with empty args

There was a bug in both libnative and libuv which prevented child processes from
being spawned correctly on windows when one of the arguments was an empty
string. The libuv bug has since been fixed upstream, and the libnative bug was
fixed as part of this commit.

When updating libuv, this also includes a fix for #15149.

Closes #15149
Closes #16272
Update error message on compile
Single curly braces instead of double are being used
Implement Win64 system ABI.
Adding test for issue #15917 which was previously fixed with #15709
libcore: Fix documentation comment for f32.
don't translate items when monomorphizing foreign-ABI functions
Add example of estimating pi using Monte Carlo simulation to std::rand
Add division by zero case to the `CheckedDiv` comment
Make small doc contributions less onerous/intimidating
mk: Don't emit landing pads in stage 0.

Reduces time to build stage0 from 11:30 to 9:40 on my machine.
Remove the dist function; it is more efficient to compare squared distances
rust.md: Explicitly point out how special `'static` is.

Drive-by: fix description of `&content` to point out that `&'f type`
is (as of today) only for type expressions.
librustc: Don't use the same alloca for match binding which we reassign to in arm body.
librustc: Also use new alloca if matching on an arg or upvar which we reassign in the arm body.
librustc: Encode upvar_borrow_map in metadata.
auto merge of #16346 : vadimcn/rust/win64-cabi, r=brson

This fixes
run-pass/extern-pass-TwoU64s.rs
run-pass/extern-pass-empty.rs
run-pass/extern-return-TwoU64s.rs
auto merge of #16350 : hirschenberger/rust/issue-15917, r=alexcrichton

Adding test for issue #15917 which was previously fixed with #15709
removing 'str'='struct' search synonym

fixes #16384
rustdoc: use raw search in URL

fixes #16385
fixes #16271