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
Tweak region inference to ignore constraints like 'a <= 'static, since they
have no value. This also ensures that we can handle some obscure cases of fn
subtyping with bound regions that we didn't used to handle correctly.

Fixes #13974.
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
Register new snapshots
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
auto merge of #14081 : Manishearth/rust/c-schar-reexport, r=huonw

Don't merge this until #14076 merges, since it is based on top of that branch to avoid merge conflicts.
Reorganise driver code.

The goal of this refactoring is to make the rustc driver code easier to understand and use. Since this is as close to an API as we have, I think it is important that it is nice. On getting stuck in, I found that there wasn't as much to change as I'd hoped to make the stage... fns easier to use by tools.

This patch only moves code around - mostly just moving code to different files, but a few extracted method refactorings too. To summarise the changes: I added driver::config which handles everything about configuring the compiler. driver::session now just defines and builds session objects. I moved driver code from librustc/lib.rs to librustc/driver/mod.rs so all the code is one place. I extracted methods to make emulating the compiler without being the compiler a little easier. Within the driver directory, I moved code around to more logically fit in the modules.
add back jemalloc to the tree

This adds a `std::rt::heap` module with a nice allocator API. It's a
step towards fixing #13094 and is a starting point for working on a
generic allocator trait.

The revision used for the jemalloc submodule is the stable 3.6.0 release.

Closes #11807
add an align parameter to exchange_malloc

Closes #13094
use jemalloc to implement Vec<T>