Make invoke/return end a basic block.

They didn't originally, as they are not local flow control transfers.
However, when we inline, invokes and returns become gotos. While we
could at that point go splitting up the basic blocks, there's a lot
of potential to get it wrong. So just construct a graph that is inline
friendly from the start.