libsyntax: Remove `pub impl` from the language
librustc: Disallow multiple patterns from appearing in a "let" declaration.

You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
auto merge of #6944 : pcwalton/rust/multiple-patterns-in-let, r=nikomatsakis

r? @nikomatsakis