rustc: Warn about dead constants

A few catch-all blocks ended up not having this case for constants.

Closes #17925
rustc: Flag hidden constants with unnamed addresses

All of these hidden constants are forbidden to have interior mutability anyway,
so there's no reason to merge them at will! This will merge identical hidden
constants into the same address (as LLVM desires)
rustc: Remove the dummy hack from check_match

Turns out you can create &'static T quite easily in a constant, I just forgot
about this!
auto merge of #17927 : alexcrichton/rust/more-const, r=nikomatsakis

* Apply the dead code lint to constants
* Flag all hidden/injected statics as `unnamed_addr`
* Remove a hack in rustc added when consts were added, turns out it's not necessary!