Don't warn about unsafe functions which don't need to be unsafe
Replaced many instances of reinterpret_cast with transmute
auto merge of #5978 : alexcrichton/rust/issue-5954, r=catamorphism

Closes #5954
auto merge of #5979 : Thiez/rust/no_reinterpret_cast, r=catamorphism

As the name suggests this replaces many instances of cast::reinterpret_cast by cast::transmute. It's essentially the boring part of fixing #5163, the remaining reinterpret_casts should be more tricky to remove (unless I missed a boring case).

r? @catamorphism
Implement a lint mode to deal with unused 'mut' variables
core: remove unused 'mut' variables
std: remove unused 'mut' variables
syntax: remove unused 'mut' variables
rustc: remove unused 'mut' variables