Fix constant handling and empty else in if compilation
Skip unnecessary block+jump for empty else
Allow jump to use case fallthrough when the jump target is the next block
cif: create next block before end block

Allows next block (or this block for empty else) to fallthrough into
end block. Also stops next block from blocking (haha) end block from
falling through for whatever the next op is
Merge branch 'allow-jump-case-fallthrough'
merge