librustc: Separate out trait storage from evec/estr storage
librustc: Don't accept `as Trait` anymore; fix all occurrences of it.