librustc: Get rid of structural records save for front/test.rs.

Didn't de-record-ize `front::test` since it meant some changes in libsyntax and when I first attempted it I got LLVM asserts. I shall address it in a subsequent commit hopefully if it turns out not to be a big issue.

Also, removed the duplicate definitions for MethodInfo and Impl in `metadata::decoder`. So there's now only the definition in `middle::resolve`.