librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.
auto merge of #7469 : pcwalton/rust/unnecessary-copy, r=graydon

r? @brson