libsyntax: Disallow struct literals after `if`, `while`, `match`, and

`for...in`.

Closes #14803.

If you used a structure literal after one of these keywords, surround it
in parentheses.

[breaking-change]

r? @nick29581
Would it be possible to have a more formal grammar here? The RFC has somewhat of a formal grammar, and it would be nice to have this be explicitly defined as `no_struct_literal_expr` or something like that.