libsyntax: Forbid `~mut` and `~const`. rs=demuting
libsyntax: Forbid mutable vectors. rs=demuting
librustc: Forbid `pub` or `priv` before trait implementations
auto merge of #5131 : pcwalton/rust/trait-impl-visibility, r=pcwalton

r? @catamorphism (last commit is the important one)