Minor, extracted generateLoopBody
Generate substatements as statements too

Preventing pushing on stack redundant Unit instances

 #KT-5667 fixed
Dataflow: Nothing type of finally

If finally-block is Nothing-typed, so whole try expression is Nothing
Generate blocks-statements through CodegenStatementVisitor
Changed logic of generating calls returning Nothing

In such cases we should put return-opcode, giving to
Hotspot's verifier knowledge about end of control flow
Changed logic of ExpressionCodegen.returnExpression