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. 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.
attachment 0001-Ticket-65-fix-get-set-valid-states.patch
Passes test, stress test, and dirsrv ldclt tests.
commit 6c84f65f0d7c052e22865b6293d96f6b3e9a4309 Compressing objects: 100% (20/20), done. Writing objects: 100% (21/21), 92.13 KiB | 0 bytes/s, done. Total 21 (delta 13), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/nunc-stans.git 59aa673..7b78521 master -> master