SI-7937 No nested if after val def in for

Deprecate nested if after a value definition in
a for comprehension. (That is per spec.)

The difference is between
```
for (i <- is if i > 0)
```
and
```
for (i <- is ; j = 2 * i if i > 0)
```
where, in the second form, the guard seems to
control perlesquely the val def. That is confusing
to the human eye.

The first form, where the guard directly follows
a generator, is OK because a generator doesn't
look like an expression that would be guarded
by the if condition.

Review by @densh