Fix warning about unused imports in import lists

Before, if anything in a list was used, the entire list was considered to be
used. This corrects this and also warns on a span of the actual unused import
instead of the entire list.
Removing unused imports
auto merge of #5570 : alexcrichton/rust/fix-unused-imports, r=catamorphism

Before it wouldn't warn about unused imports in the list if something in the list was used. These commits fix that case, add a test, and remove all unused imports in lists of imports throughout the compiler.