DSTify Show and all the other formatting traits
auto merge of #18431 : japaric/rust/show, r=alexcrichton

r? @aturon 
cc #16918
trans: use types from argument patterns instead of the function signature.

This fixes ICEs caused by late-bound lifetimes ending up in argument
datum types and being used in cleanup - user Drop impl's would then
fail to monomorphize if the type was used to look up the impl of a
method call - which happens in trans now, I presume for multidispatch.
rustc: avoid `use`-ing `syntax::ast::*`.
rustc: middle: rename `ty::t` to `Ty` and use it unqualified everywhere.
rustc: middle: ty: replace unsafe pointers with references in Ty.
rustc: fix fallout of adding the `'tcx` lifetime to `Ty`.
rustc: fix fallout of making `Ty` an alias for `&TyS` instead of a wrapper.
rustc: work around #[deriving(PartialEq)] messing up due to method lookup.
rustc: middle: avoid clones in ty_fn_{sig,args}.
rustc: middle: remove obsolete ty::get.
rustc: remove id's from Ty's in favor of pointer identity.
rustc: middle: simplify primitive type declaration in ty.