Improve the unused unsafe block warning to include unsafe blocks in unsafe functions
Removing more unnecessary unsafe blocks throughout
Fixing some various warnings about unused imports
auto merge of #6038 : alexcrichton/rust/more-unsafe, r=pcwalton

Because unsafe functions are never warned about, then all `unsafe` blocks in unsafe functions should definitely be warned about (no need to be redundant). This fixes this case, adds tests, cleans up remaining cases, and then fixes a few other import warnings being spit out.