Transitioning one call in task to ctx_save.
Using a bool in executor to flag context changes.
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.
Merge branch 'master' into custom_context
Adding a bounded queue.

This abstracts away from the particular implementation.