Support link_args at the crate level. Closes #1301
rustc: Don't copy in add_used_link_args
libsyntax: Remove last use of structural records in pipes compiler.
libsyntax: Explicit-self-ify pipes compiler.
libsyntax: Long lines.
vec: grow_fn doesn't require Copy
Make univariant enums act like structs, so that they're aligned correctly.

Consts of such enums are aligned correctly, so we could either misalign
them to match the type_of, or fix the type_of.  The latter seems like a
better idea.
pub fn main
`pub fn main` for run-pass tests that didn't have it
libsyntax: Update view_item_use/import to reflect actual usage
Long lines.
Modernize bitv mut fields and explicit self
Change SmallBitv to use uint instead of u32
Remove the 'uint_bits' constant in bitv
Favor local closures instead of global functions
Implement Set container on top of a bit vector
Add benchmarks to measure differences in bit vectors
auto merge of #4890 : jld/rust/enum-newtype-alignment, r=catamorphism
auto merge of #4979 : z0w0/rust/issue-1301, r=catamorphism
auto merge of #4996 : luqmana/rust/no-rec-pipes, r=catamorphism

Removes the last use of structural records in the pipes extension and with that, libcore has no more structural records.
Also, explicit-self-ification.