syntax: Parse global paths in patterns

Closes #6449
rustc: Prevant an out of bounds access in typeck

Closes #7092
rustc: Fix a dynamic borrow error in resolve

Closes #8208
Closes #10980
test: Add a test for fixed issue #10763

Closes #10763
test: Add test for fixed issue #11736

Closes #11736
test: Add a test for fixed issue #11844

Closes #11844
rustc: Avoid out of bounds in check_match

Closes #12116
rustc: Avoid an unwrap() in check_match

Closes #12369
test: Add a test for fixed issue #12567

Closes #12567
test: Add test for fixed issue #12796

Doesn't close #12796 because the error message is awful.
rustc: Turn a Box ICE into an error

Closes #14092
rustc: Fix an ICE with box-placement syntax

Closes #14084
auto merge of #14321 : alexcrichton/rust/ices, r=pcwalton

Also adding tests for fixed ICEs