Support link_args at the crate level. Closes #1301
rustc: Don't copy in add_used_link_args
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
auto merge of #4890 : jld/rust/enum-newtype-alignment, r=catamorphism
auto merge of #4979 : z0w0/rust/issue-1301, r=catamorphism