Generalize object and type parameter bounds

An RFC summarizing type system changes that close up rust-lang/rust#5723 and related bugs.
On Thu, Aug 07, 2014 at 12:57:10AM -0700, Nick Cameron wrote:
> I'm unclear about the scope of the fresh variables here - are the two `'a`s the same variable or different?

Different. I will clarify.