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.
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 #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.
auto merge of #14066 : edwardw/rust/pod-to-copy, r=alexcrichton

Some error messages still use the word `Pod` instead of `Copy`. Renames
them.
auto merge of #14068 : alexcrichton/rust/rustdoc-xcrate-links, r=brson

This should improve the libcore experience quite a bit when looking at the
libstd documentation.
Reexport wchar_t, c_schar
librand: Revise crypto part of document

This patch adds document which explains when to use `OSRng` in
cryptographic context, and explains why we use `/dev/urandom` instead
of `/dev/random`.
auto merge of #14073 : alexcrichton/rust/snapshots, r=huonw
shootout-nbody improvements

- minimize bound check
- factorise operations
- use x, y, z instead of [f64, ..3]
- ~1.15 faster