Fix promises

This is not yet an ideal usage of the promises, but it makes more sense. Instead of creating different promises and passing callbacks around, I created a single one in `addCommandToQueue` and return it to the caller in `sendPromisedCommand`, and wrap the callbacks in a `.then().done()` in `sendCommand`

This stops promise callbacks from failing silently.