libsyntax: Allow `+` to separate trait bounds.

This breaks some code that looked like `1 as u32 + 2`, because now `+`
is part of the type grammar. Change it to `(1 as u32) + 2`.

Part of #12778.

[breaking-change]

r? @alexcrichton