added work queue code
This supports retries, putting the work to retry at the end of the line.
tests for work queue code
use work queue for better retrying
Z-Wave operations.  Now retries will go to the end of the line.  The controller can only do one thing at a time, so the interface to it should be on one thread.