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}.