gras: moved flush output to consume function in output queues

This cleans up some code in block actor.
The message sending code is now in task_main,
and the consume routine is now the shared one.