Called from client: cancel all queued actions
Called from client: have interrupt executed by server and return result
called from Server: test whether one of todo list, throwables, or InterruptReqs is nonempty
Called from server: get first action in todo list, and pop it off
Called from server: return optional exception posted by client Reset to no exception.
Called from client: have action executed by server
Called from client: Require an exception to be thrown on next poll.
Called from server: block until one of todo list, throwables or interruptReqs is nonempty