Cancel a vote associated with a node that stops waiting for a quorum
When a Gitaly has cast its vote for a transactions, it waits until the transaction reaches a quorum. If the Gitaly stops waiting for the quorum, it would not commit the changes if the vote is successful. As such, we should not consider its vote in the quorum anymore as it's not going to persist the changes. This MR cancels a Gitaly's vote if it stops waiting for a quorum.
There's also a small refactoring that removes the isDone
field of the subtransaction and replaces it with a method.
Edited by Sami Hiltunen