Address several issues involving control flow graph generation and structured code ops.
- Fix a problem with constructs nested inside unstructured selection constructs. This is a general problem involving branches that are implied rather than explicit. It is addressed in the generic genFIR "wrapper" function that calls individual statement-specific genFIR calls.
- The previous fix requires some compensating changes in IF and DO construct code lowering.
- Streamline the code to generate explicit DO loop variable updates.
- Fix a problem with the individual detailed genFIR calls made in the genFIR(SelectTypeConstruct) call.
- Modify control flow graph generation to support the insertion of deallocation and finalization code when lowering most END <construct> statements.