KUDU-2612 proper handling of transient errors from TxnManager

This patch fixes the handling of ServiceUnavailable from TxnManager
in the Kudu C++ client, addressing one of TODOs from [1].

This patch also contains a new test scenario to cover the updated
functionality.  I verified that without the changes in handling
ServiceUnavailable from TxnManager this new test scenario failed.

This is a follow-up to [1].

[1] https://github.com/apache/kudu/commit/38aee4b1407b04b8c299768be0ae40d84a8e2a3a

Change-Id: Ia97ddaaf598f2b6d7fcf5fcd42ecb836b82ed547
Reviewed-on: http://gerrit.cloudera.org:8080/16783
Tested-by: Alexey Serbin <aserbin@cloudera.com>
Reviewed-by: Andrew Wong <awong@cloudera.com>
4 files changed