broker/job.go extracted.
Broker.doTick() extracted from Broker.Run().
Broker.doTick() returns error, Run() handles them.
job.release() extracted.
broker overhaul.