Reduce clutter created by IRLandingPad

Previosly, a generated bytecode was a little messy for nested try-catch-finally
statements. A finally block of an outer statement was emitted multple times
per each inner try-catch-finally. A combination of PHI and IndirectBr is used
to codegen the finally only once for the exceptional code paths.