Stratum::abort(): don't leave execution frame continuations dangling.

When abortion of an execution frame yields an execution frame `ef`, we must
always set a parent on `ef`, otherwise subsequent calls by `ef` to its
parent might end up at an execution frame that has dropped out of the tree,
and cause aborted loops to continue running (an edge case that I observed in
a simplified version of sequence::mirror).

Fixing this issue causes a couple of reentrant abort tests in sjs-2-tests
to fail. The upshot is that in the current VM we cannot rely on contiguous
(non-blocking) code to be executed atomically after an abortion, e.g. code
across a loop break will only run to the `break` after a reentrant abort.

In practice this doesn't matter that much, but we should rewrite the abort
code path of the VM at some point, so that code is always run contiguously
until a suspending frame is encountered.