Make TyTrait embed a `TraitRef`, so that when we extend TraitRef, it naturally carries over to object types.

I wanted to embed an `Rc<TraitRef>`, but I was foiled by the current
static rules, which prohibit non-Sync values from being stored in
static locations. This means that the constants for `ty_int` and so
forth cannot be initialized.
Update parser with `for` syntax
Update tests where we don't report errors twice anymore
Purge the old `once_fns`, which are not coming back
Fix tidy error
Refactor QPath to take an ast::TraitRef