Add FAQ regarding Work Utility.
Merge pull request #441 from kanoi/master

USB locking
Tidy up DEVLOCK/UNLOCK to have consistent use of the pstate variable without needing brace level match.
Add the cgpu_info structure before avalon reset.
Yield after releasing a lock in case we are on a device with limited CPU resources.
Sleep if the avalon buffer is empty and we've requested a read to allow the write thread to take precedence.
Unlock usb dev lock in the same place in usbutils.
Failure to read and write on pseudo semaphores on apple happens routinely on shut down so should not be a quit error, just a warning.
Decrease the sleep duration before reading in avalon to not let the read buffer overflow.