don't create intermediate string while creating json (rustdoc)
Make trait lifetime parameters early bound in static fn type.  This is related
to #5121.

Fixes #10391.
Forbid keywords as lifetime parameters names.
Fix test for #10391 to have pub main
auto merge of #10506 : nikomatsakis/rust/issue-10391-ICE-with-lifetimes, r=pnkfelix

Make trait lifetime parameters early bound in static fn type. Reasoning for this change is (hopefully) explained well enough in the comment, so I'll not duplicate it here. Fixes #10391.

r? @pnkfelix
auto merge of #10675 : LeoTestard/rust/lifetimes-no-keywords, r=brson

Fixes #10565.

`'self` is still allowed for the moment, as it is used everywhere in the codebase. And I'm not sure if it still has a special meaning currently or not.
auto merge of #10721 : osa1/rust/intermediatestr, r=brson

as recommended by @huonw on this PR https://github.com/mozilla/rust/pull/10711 , I removed intermediate step that generates a string instead of directly writing to Writer without generating intermediate string.
Bundling libunwind
Changes

* Git-dep on libcxxabi
* Git-dep on libcxx
* Git-dep on clang
* Upgrade LLVM
* Jettison all JIT support