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.
Fixed JOIN behavior

* Reduces the timeout to get the configuration to 5000 msec.

* Avoid register the default protocols twice.
Uncomment Percentile and Transaction Class statistics
 * Responses now contain piggy backed information about remote execution
 * To-related stats added