Syntax sugar for prefix-style type parameter lists.

This is a proposal for type parameter lists that come well before the
actual generic items. Example:

```rust
type <T: Unwieldy+Traits+Go+Here,
      U: Even+More+Traits> {
  fn foo(t: T) -> U { ... }
  fn bar(u: U) -> T { ... }
}
```