(#22363) Make if, unless, case be rvalue producers

The evaluator already treated these statements as rvalue producers.
The change is a relaxation in the validator.
This also adds tests.

Also correct mistake of not checking in the validator 4.