Unlabeled as resource at worker

(Breaking this commit into smaller logical chunks)

Extends over-commit pull request   #393
Partially fixes resources leaks on #394 by not allowing labeled and unlabeled tasks to mix, even at the foreman.

Consolidates resource accounting for a worker with two new functions:
commit_task_from_worker and reap_task_from_worker  (@batrick wink wink)

@dthain, @dpandiar