libsyntax: Allow `+` to separate trait bounds from objects.

RFC #27; issue #12778.

After a snapshot, the old syntax will be removed.

This can break some code that looked like `foo as &Trait:Send`. Now you
will need to write `foo as (&Trait+Send)`.

[breaking-change]

r? @alexcrichton
Should this propagate `plus_allowed`? On second thought, this seems like it should be very deprecated now anyway, so not much of a worry.

```
foo as @int + 4
```