GC static_size_of_enum, which was unused
auto merge of #7554 : jld/rust/rm-ssoe, r=catamorphism
Add VecRef to std::vec

This adds a `VecRef` that can hold either a ~[T] or a &'static [T]
Implement a StringRef

This is the string equivalent of VecRef. I had some trouble with
lifetimes trying to implement StrSlice, so I've left it for now,
iterating on strings isn't as common and the .as_slice() method
merely means you need to add an extra method call.
Stop allocating view_items with @
De-managed ast::Path
De-manage Lifetime
De-share trait_ref

Also, makes the pretty-printer use & instead of @ as much as possible,
which will help with later changes, though in the interim has produced
some... interesting constructs.