SAVE SPOT! refactoring how commands are send and responded too.

TODO:
Make CommandManager have a command queue - if command is in process of handling a command, it will put it into a queue.  If not, it will call do as it is now.

Upon response - handle the data liek it is - then if it is done, pull another command out of the queue

Revamp the API the contorller has access too - upon a reject, depending on the error type (make an error type like RadDeviceError), it will give the option of retrying the command.