Use defvar for rust-top-item-beg-re instead

Since rust-top-item-beg-re hasn't been defined yet, using defvar instead of
setq is more appropriate here (and also silences compilation warnings).
Implement fallbacks for functions unavailable in older versions of Windows
Add documentation for Windows compatibility layer and remove unneeded attributes
Move Windows compatibility layer to libnative
vim: Fix an indentation issue with cindent

cindent handles the following case incorrectly:

impl X {
    b: int,
    //
    c: int,
}

if you try and insert a new line after the `c` declaration.

To fix this, fix the get_line_trimmed() function to work properly, and
then extend GetRustIndent to keep searching backwards until it finds a
non-blank line after trimming. This lets it handle the trailing comma
case properly, as if the comment were never there.

Fixes #14041.
Remove <no-bounds> on trait objects

Printing <no-bounds> on trait objects comes from a time when trait
objects had a non-empty default bounds set. As they no longer have any
default bounds, printing <no-bounds> is just noise.
Rename resolve_regions to resolve_regions_and_report_errors
Check lifetime parameters when we do check for supertrait impls. Fixes #14050.
Currently trans uses Vec<ty::t> to represent substitutions instead of a proper
ty::substs struct. This is a holdover from the olden days of yore. This patch
removes the last vestiges of that practice. This is part of the work
I was doing on #5527.
shootout-meteor improvement

- 5-10% of raw speedup
- parallelization of the search
serialize: Ignore two flaky json tests on windows

See #14064 for some rationale, but the basic idea is that I suspect that there
is an LLVM codegen bug somewhere, and I'm not entirely sure why it's happening
intermittently rather than deterministically...

cc #14064
Rename Pod to Copy

Some error messages still use the word `Pod` instead of `Copy`. Renames
them.
rustdoc: Hyperlink cross-crate reexports

This should improve the libcore experience quite a bit when looking at the
libstd documentation.
doc: Fix some broken links
auto merge of #14055 : nikomatsakis/rust/issue-5527-use-substs-in-trans, r=pcwalton

Code to use `ty::substs` in trans. As part of this, uncovered (and fixed) issue #14050.

r? @pcwalton
auto merge of #14057 : kballard/rust/remove_no-bounds, r=sfackler

Printing <no-bounds> on trait objects comes from a time when trait
objects had a non-empty default bounds set. As they no longer have any
default bounds, printing <no-bounds> is just noise.
auto merge of #14063 : TeXitoi/rust/shootout-meteor-improvement, r=pcwalton

- 5-10% of raw speedup
- parallelization of the search
auto merge of #14065 : alexcrichton/rust/ignore-flaky-windows-test, r=brson

See #14064 for some rationale, but the basic idea is that I suspect that there
is an LLVM codegen bug somewhere, and I'm not entirely sure why it's happening
intermittently rather than deterministically...

cc #14064
Register new snapshots
auto merge of #14056 : kballard/rust/vim_indent_fix, r=huonw

cindent handles the following case incorrectly:

    impl X {
        b: int,
        //
        c: int,
    }

if you try and insert a new line after the `c` declaration.

To fix this, fix the get_line_trimmed() function to work properly, and
then extend GetRustIndent to keep searching backwards until it finds a
non-blank line after trimming. This lets it handle the trailing comma
case properly, as if the comment were never there.

Fixes #14041.