rustc: Add a lint for the obsolete crate-level link attribute
extra: impl IterBytes for uuid::Uuid
auto merge of #11091 : brson/rust/cratelinkattr, r=brson

This is set to *forbid* and prints a note explaining how to fix the problem.
auto merge of #11130 : olsonjeffery/rust/master, r=alexcrichton

So that `Uuid` can be used as the key in a `HashMap` or in a `HashSet`, etc

The only question I have about this is: Is endianness an issue, here? If so, what's the correct way to proceed?
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`