Ticket 65 - fix get set valid states
Bug Description: While writing the docs for usage of the state machine I
realised a flaw in how I was checking the current state of the job, and what
was valid for get/set.
Fix Description: This loosens some restrictions that were not aiding safety.
We remove an un-needed check because the monitor makes the job safe. And we
improve the work_q_notify reliability. Additionally this adds documentation for
the state machine design and usage.
https://fedorahosted.org/nunc-stans/ticket/65
Author: wibrown
Review by: mreynolds (Thanks!)