Fix elimination of conditional expressions in registerizeHarder.

Previously, attempts to eliminate a side-effect-free conditional
expression would corrupt internal block state, because the sub-nodes
belong to a different block than the one containing the expression.
This fixes the problem by not splitting side-effect free conditionals
across multiple blocks.
Merge pull request #2367 from rfk/rfk/fix-elimination-of-conditionals

Fix elimination of conditional expressions in registerizeHarder