Add detection of unused enum variants
Use more descriptive names in dead code messages
Remove unused enum variants
Remove dead code from librustc
auto merge of #17410 : jakub-/rust/dead-code, r=alexcrichton