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.
librustc: Remove "base types" from the language.
librustc: Remove implicit self from the language, except for old-style drop blocks.
test: Some test fixes
librustc: Don't require the "static" keyword to define a static method
librustc: Allow path-qualified constants in patterns
test: Fix tests. rs=tests