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
English - "either ..." or? should perhaps be:
structure literal must have at least one field (removing the 'either')
Same for below changes