Parallelize the sending of the CommitCommand with the data flushing

PS: this modification is only valid for syncCommitPhase

* First, the CommitCommand will update the commit queue. Then it is sent
to the other involved nodes. A future is returned...

* In the meanwhile, the thread will wait in the commit queue until the
transaction reaches the head of the queue.

* Finally, it waits for the acks from everybody.