librustc: Change `@mut Block` to `@Block`.
librustc: De-`@mut` `FnCtxt`.
librustc: De-`@mut` the type interner
librustc: De-`@mut` the `node_type_substs` table
librustc: De-`@mut` the type context's `methods` table
librustc: De-`@mut` the `trait_method_def_ids` table.
librustc: De-`@mut` the `trait_methods_cache`
librustc: De-`@mut` the `impl_trait_cache`
librustc: De-`@mut` `trait_refs`
librustc: De-`@mut` `trait_defs`
librustc: De-`@mut` `intrinsic_defs`
librustc: De-`@mut` the short names cache
librustc: De-`@mut` the `needs_unwind_cleanup_cache`
librustc: De-`@mut` the `tc_cache`
librustc: De-`@mut` `monomorphized` in the crate context
librustc: De-`@mut` the `monomorphizing` field in `CrateContext`
librustc: De-`@mut` `CrateContext::item_vals`
librustc: De-`@mut` `item_symbols`
librustc: Remove unused field `enum_sizes` from the crate context
librustc: Remove unused `discrim_symbols` field from the crate context