Fix bug with consecutive termination instructions
Fix bug with consecutive termination instructions

In branching constructs we use a unconditional break to exit out of
the block. However if a return instruction is placed at the end of this
block, we end up with two termination instructions, one after the other,
which causes a build fail

This fix adds a utility function which "safely" inserts a break, by
checking if the previous instruction is a termination.

matt-auld/z-lang,matt-auld/z-lang