Use work_queue_submit_internal at foreman side.
taskid increment after assignment.
foreman sleep to detect master link going down.
Always Listen for master activity after work_queue_wait_internal.
Always wait at least a second when no task return.
Clear foreman's queue on abort.

Foreman's queue was not always being cleared on abort. When a new master
connected to the foreman, the foreman would send the previous tasks back
to the new master. This commit resets foreman's queue on all aborts.
Do a disconnect on reset.

We have some issues with the state of foreman and workers not being
completely clean on resets (e.g., when connecting to a new master with
tasks in the queue). For example, some messages between foreman and
workers would still be processed, causing confusion at the master side
(e.g., reporting tasks that were not submitted, of task id confusions).

This commit does a 'hard reset' between foreman and workers,
disconnecting the workers to force a clean state. This is suboptimal, as
the workers need to reconnect to create the hierarchy again.
Remove foreman's disk usage message.

Under some conditions, this message was printed many times per second.