move RenameList to mtwt, add new_renames abstraction
add PatIdentRenamer
Relicense shootout-threadring.rs

Everyone agreed.

Related to #14248, close #15328
new_mark -> apply_mark, new_rename -> apply_rename
comments only
use PatIdentRenamer for match bindings
comments & test cases for IdentRenamers
hygiene for item fn args

also, introduce fn_decl_arg_bindings and expand_and_rename abstractions
make any_pat! and u64_from_be_bytes_bench_impl! macros hygienic
comments only
added test cases for closure arg hygiene
implement hygiene for ExprFnBlock and ExprProc
Removed unnecessary method in test
auto merge of #15412 : dotdash/rust/builder, r=alexcrichton
Parser: fix PatIdent span bug

Fix small bug introduced in e38cb972dcf: PatIdent span was incorrect
because self.last_span was being used before the ident token was
parsed.
vim: set Rust tab conventions
rustc: Reorder error and note message to reduce confusion.

Moved note after error to reduce confusion when the pair appears in the
middle of other errors. Closes #13279.
librustc: Don't create &[T] slices with NULL as the ptr.
Add tests for null pointer opt.
serialize: escaping json strings should write in batches.

This significantly speeds up encoding json strings.