Don't set time_started when not necessary

The state_changed mixin had a bug where it would set time_started for a
job to utcnow() every time a batch of task was assigned to an agent.
Use _WorkState instead of WorkState for comparison

job.state != WorkState.RUNNING never evaluated as true.
Merge pull request #231 from guidow/fix_resetting_started_time

Don't set time_started when not necessary