Fix issue with block binding in unbraced for

When transforming the body for if, for, while, do and with, where
either a Block or a single statement is allowed we need to convert
AnonBlocks to normal blocks.

The code for this is generated by the code gen. We use the type
`Block | ParseTree` as the type to trigger this code path.

Fixes #1381
I don't think I understand what you mean. This is done by all transformers unless the override transformIfStatement (for example). AnonBlocks are normally removed by transformList.

There is a potential issue if the last transformer in the pipeline overrides one of these and does the wrong thing.

An alternative solution would be to include a normalize transform as the last step in the pipeline.