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
API docs/examples for std::slice

 - API doc/example for next() in Permutations
 - API doc/example for permutations() in ImmutableCloneableVector
 - Moved examples for permutations and next into trait definition as
   comments on pull request #16244.
 - Fix erroneus inclusion of src/llvm in older commit.
Update docs to use HTTPS for static.rust-lang.org addresses

cc #16123
Download snapshots using HTTPS

cc #16123
Guide: vectors
auto merge of #16429 : steveklabnik/rust/guide_vectors, r=cmr

Since https://github.com/rust-lang/rust/pull/16380 didn't get pulled in yet, I added it in here too.

This covers the very, very, very basics of vectors. I wanted to have a section that mentioned them, but I'm
unsure what else I should cover. So I just did the absolute simplest things. Feedback very welcome.
auto merge of #16427 : brson/rust/https, r=thestinger
auto merge of #16417 : jasonthompson/rust/docs/slice3, r=alexcrichton

- Moved examples for permutations and next into trait definition as
   comments on pull request #16244.
- Fixed (hopefully) issue with erronious commit of changes to src/llvm.
Fix many-crates-but-no-match test. (Issue #16348)
Change std::fmt::{Float,LowerExp,UpperExp} to not print '-NaN' for f32::NAN and f64::NAN
auto merge of #16284 : alexcrichton/rust/issue-16272, r=aturon

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
Implement Index for RingBuf

This also deprecates RingBuf::get. Use indexing instead.
Implement Index for HashMap

This also deprecates HashMap::get. Use indexing instead.
Implement Index for TreeMap
Implement Index for SmallIntMap

This also deprecates SmallIntMap::get. Use indexing instead.
Implement Index for TrieMap
auto merge of #16195 : P1start/rust/more-index, r=aturon

Implement `Index` for `RingBuf`, `HashMap`, `TreeMap`, `SmallIntMap`, and `TrieMap`.

If there’s anything that I missed or should be removed, let me know.
auto merge of #16425 : nham/rust/fix_nan_format, r=alexcrichton

Currently, this:

    println!("{}", std::f64::NAN);

prints "-NaN". This commit is an attempt to change that to "NaN" instead.
auto merge of #16434 : vadimcn/rust/many-crates-but-no-match, r=alexcrichton
Revert "don't translate items when monomorphizing foreign-ABI functions"

This reverts commit 0c158b4fbfcec7d6f18859661047dff2109fdfe4.