Add new interface and class for send command

Sending command job is giving up if command cannot be sent with any
reason. It means that command would be lost if Gerrit is down.

This patch adds new class and interface to raise exception if command
was not sent with errors. Also thread interrupted.
User can implement retry logic using this.