Greatly simplify rethrow implementation.

Has added advantage of not placing the PC in a random place after the
unwind, though I'm not entirely sure how that was happening before. :)