trans: Change @ast::Expr -> &ast::Expr where possible
trans: Change @ast::Pat and @mut CrateContext in a few places

Use borrowed references in a few locations that were encountered when
working on other changes.
trans::build: Change @mut Block to &Block or &mut Block

Use &mut Block and &Block references where possible in the builder
functions in trans::build.

@mut Block remains in a few functions where I could not (not yet at
least) track down the runtime borrowck failures.
auto merge of #9630 : blake2-ppc/rust/de-at-smaller, r=huonw

This is mostly an incremental change, picking off some uses of
@- or @mut-pointers that can be replaced by references.

Almost all of the builder functions in trans::build are updated,
mostly using `&Block` arguments instead of `@mut Block`.
testsuite: Un-xfail unit-like-struct-drop-run on Windows

Closes #7999
auto merge of #9635 : catamorphism/rust/issue-7999, r=catamorphism

Closes #7999
std: fix a privacy violation
wip