Retrieves and removes Term from queue.
This will block until at least one message is available in the queue
before returning a result or failing.
A choicepoint is created for the next queue element until end_of_stream reached.
It is not ensured that this call is deterministic in case
there is only one message before end_of_stream
(it is deterministic if end_of_stream was already queued
when the last message was retrieved).
Unschedule any remaining work associated to WorkID.
This may not immediately shut-down all operations,
but will prevent any more results to be communicated,
and new operations being started.