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