Add a cleanupendpad instruction, used to mark exceptional exits out of
cleanups (for languages/targets that can abort a cleanup with another
exception). The cleanupendpad instruction is similar to the catchendpad
instruction in that it is an EH pad which is the target of unwind edges in
the handler and which itself has an unwind edge to the next EH action.
The cleanupendpad instruction, similar to cleanupret has a cleanuppad
argument indicating which cleanup it exits. The unwind successors of a
cleanuppad's cleanupendpads must agree with each other and with its
cleanuprets.
Update WinEHPrepare (and docs/tests) to accomodate cleanupendpad.
This part is likely wrong or incomplete; I have some questions about how to proceed that I felt were best asked in the context of a code review: