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.
Fix some minor mistakes in a docstring
Show failures, last_error in tasks list
Merge pull request #231 from guidow/fix_resetting_started_time

Don't set time_started when not necessary
Merge pull request #234 from guidow/fix_docstring

Fix some minor mistakes in a docstring
Merge pull request #235 from guidow/more_cols_in_tasks_list

Show failures, last_error in tasks list