Remove special rooting code from trans

[breaking-change]

cc #11586
rustc: remove usage of root_map from astencode
rustc: Remove root_map usage from _match
rustc: Remove root_map usage from lifetime
rustc: Remove root_map entirely
Update tests and move other tests around
rustc: Remove obsolete error_out_of_root_scope variant
Treat @T like ~T in borrowck

`@` pointers used to have special rooting and regions management. With `@`
moving to standalone library, we don't need to keep that special
treatment around. This patch modifies the way `@` pointers are treated by
treating them as if they were `~` pointers

Region checker and borrow checker were modified in this patch.

Closes #11586

[breaking-change]
rustc: Remove moved_variables_set
syntax: fix de-@rooting fallout
rustc: fix de-@rooting fallout
auto merge of #13559 : FlaPer87/rust/remove-special-root, r=nikomatsakis

This patch removes the special auto-rooting for `@` from the borrow checker. With `@` moving into a library, it doesn't make sense to keep this code around anymore. It also simplifies `trans` by removing root checking from there 

@nikomatsakis

Closes: #11586