Clean-up transmutes in libsyntax
Clean-up transmutes in librustc

None of them would break by implementation-defined struct layout, but
one would break with strict lifetime aliasing, and the rest are just
ugly code.
auto merge of #18318 : arielb1/rust/transmute-cleanup, r=nikomatsakis

clean-up transmutes in librustc and libsyntax