Cluster: configEpoch collisions resolution.
Cluster: configEpoch collisions resolution.

The slave election in Redis Cluster guarantees that slaves promoted to
masters always end with unique config epochs, however failures during
manual reshardings, software bugs and operational errors may in theory
cause two nodes to have the same configEpoch.

This commit introduces a mechanism to eventually always end with different
configEpochs if a collision ever happens.

As a (wanted) side effect, this also ensures that after a new cluster
is created, all nodes will end with a different configEpoch automatically.

ttuna/msot-redis,HunanTV/redis,spearhead-ea/redis,louisliangjun/redis,xuzhezhaozhao/redis_reading,HunanTV/redis,darksideofthemoo/redis-histogram,louisliangjun/redis,xuzhezhaozhao/redis_reading,darksideofthemoo/redis-histogram,Hailei/redis,himoca/redis,darksideofthemoo/redis-histogram,ramonsnir/redis,xuzhezhaozhao/redis_reading,Hailei/redis,himoca/redis,louisliangjun/redis,maodeyi/redis_lua,ttuna/msot-redis,ksarch-saas/redis,maodeyi/redis_lua,ksarch-saas/redis,ramonsnir/redis,splitice/redis,jxwr/redis,ttuna/msot-redis,ttuna/msot-redis,himoca/redis,Hailei/redis,spearhead-ea/redis,jxwr/redis,jxwr/redis,slfs007/mk-redis,splitice/redis,maodeyi/redis_lua,splitice/redis,louisliangjun/redis,Hailei/redis,MSOpenTech/redis,MSOpenTech/redis,darksideofthemoo/redis-histogram,MSOpenTech/redis,ttuna/msot-redis,MSOpenTech/redis,slfs007/mk-redis,xuzhezhaozhao/redis_reading,ksarch-saas/redis,ramonsnir/redis,spearhead-ea/redis,MSOpenTech/redis,HunanTV/redis,HunanTV/redis,slfs007/mk-redis,splitice/redis,ksarch-saas/redis