Fix the clunky callback in queueCommand()

Using a condvar allows either synchronous or asynchronous calls
depending on the calling code. This is cleaner.
Return undef on missing argument
Change option -q to -g

Option -g corresponds with get settings; -s with set.
Add getSetting(), setSetting(), clearSetting()

Special-purpose higher level commands.