Add lint for unnecessary casts
Remove some unnecessary type casts

Conflicts:
	src/librustc/middle/lint.rs
auto merge of #11329 : fhahn/rust/unused-cast-lint2, r=alexcrichton

Updates as mentioned in #11135