Simplifying executor loop.

Effect: simpler code, but there must be only one executor per thread,
which is currently the case anyway so this should be fine.
Using get_ctx only internally inside ctx now, replaced by ctx_save.
Using setjmp/longjmp instead of ucontext.

Hopefully this will lead to a path where syscalls aren't needed to
switch between tasks.