Include ChaCha pseudorandom generator
test: Don't depend on /bin/bash

Our FreeBSD bots apparently don't have bash installed, and it's ok to run with
sh anyway!

Unblocks a snapshot
syntax: Enable parsing of `const` globals

This rewrites them to the current `ItemStatic` production of the compiler, but I
want to get this into a snapshot. It will be illegal to use a `static` in a
pattern of a `match` statement, so all those current uses will need to be
rewritten to `const` once it's implemented. This requires that the stage0
snapshot is able to parse `const`.

cc #17718
Set the `non_uppercase_statics` lint to warn by default
Update the `unused` lint group to include more lints
Improve the `non_snake_case` lint to give better suggestions
Correct error message for invalid `ref`/`mut` bindings

Closes #15914.
Report trait/impl sig inconsistency before method/body inconsistency

Closes #15657.
Change rustc pretty-printing to print [T, ..n] instead of [T, .. n]
Move the lint for the stability lints to the method name only

Closes #17337.
tests: remove old compile-fail test asserting the removal of `const`.
Fix a race condition between remove_from_env and other io::process tests.
travis: Fix for real this time

I ended up botching the merge when making the rollup, and the fix was to just
not configure LLVM all via --llvm-root with a nonexistent path.
rollup merge of #17215 : P1start/lints
rollup merge of #17387 : sneves/master
rollup merge of #17729 : alexcrichton/issue-17718-start
rollup merge of #17730 : alexcrichton/snapshot
rollup merge of #17741 : alexcrichton/travis-again
rollup merge of #17739 : eddyb/fix-process-test
Test fixes from the rollup