Master generates and propagates an epoch

See a88607cbe23d8146d8540d62061276866d2b1d02. The purpose of that is to remove a synchronization block in TxManager#commit, see ae1bbd609fb1623c31befcbc1e839294d15b1bc2.

WARNING: this introduces a new HA protocol version, but reinstates MasterClientResolver so that a rolling upgrade is possible.