std::rand: move normal and exponential to their own file.
std::rand: implement the log-normal distribution.
std::rand: implement the chi-squared distribution.
std::rand: implement the F distribution.
std::rand: implement the student t distribution.
encode trait lifetime params in metadata to allow cross-crate usage
auto merge of #10813 : dwrensha/rust/xcrate-lifetime-param, r=huonw

Before applying this patch, the included testcase fails with:
```
src/test/run-pass/xcrate-trait-lifetime-param.rs:20:10: 20:28 error: wrong number of lifetime parameters: expected 0 but found 1
src/test/run-pass/xcrate-trait-lifetime-param.rs:20 impl <'a> other::FromBuf<'a> for Reader<'a> {
                                                              ^~~~~~~~~~~~~~~~~~
```

There's another example in my comments to #10506.
Fix comment on ast::DefStruct
auto merge of #10866 : ktt3ja/rust/edit-doc, r=huonw

A comment that I previously added to ast::DefStruct is incorrect. Here's the modification.
Accept unsugared docs in missing-doc lint

Closes #10853
Use LLVM integrated assembler on Windows too.
Disable failing test.
Add defun motions for rust-mode.

Specifically, we can now use:
+ beginning-of-defun
+ end-of-defun
+ mark-defun

where "defun" means a Rust item.

+ Add tests in rust-mode-tests.el
+ Fix indentation in rust-mode-tests.el
+ Add support for trait to Imenu
auto merge of #10867 : sfackler/rust/unsugared-doc, r=huonw

Closes #10853
auto merge of #10874 : vadimcn/rust/integrated-as, r=alexcrichton

Last LLVM update seems to have fixed whatever prevented LLVM integrated assembler from generating correct unwind tables on Windows.   This PR switches Windows builds to use internal assembler by default.
Compilation via external assembler can still be requested via the newly added `-Z no-integrated-as` option.

Closes #8809
auto merge of #10859 : huonw/rust/helper-dists, r=cmr

This moves `std::rand::distribitions::{Normal, StandardNormal}` to `...::distributions::normal`, reexporting `Normal` from `distributions` (and similarly for `Exp` and Exp1`), and adds:
- Log-normal
- Chi-squared
- F
- Student T

all of which are implemented in C++11's random library. Tests in https://github.com/huonw/random-tests/commit/0424b8aded5e608ae386c1f917934a726d9cac6a. Note that these are approximately half documentation & half implementation (of which a significant portion is boilerplate `}`'s and so on).
Add some Any docs.
auto merge of #10840 : cmr/rust/any_docs2, r=huonw
Extend allocation lint for boxing expressions
auto merge of #10881 : sanxiyn/rust/allocation-lint-2, r=alexcrichton