Make claimant periodically check for stalled ring and force update
Make claimant periodically check for stalled ring and force update

Claimant transitions are triggered by ring update events. However, if
a ring update event is somehow missed, and the ring reaches a steady
state, then there will be no more update events and the claimant will
stall. Likewise, when a older node joins the cluster, there is a race
between when the capabilities system negotiates that the claimant
should perform automatic joining and when the claimant transition
occurs. Thus, the claimant may not properly auto join an older node in
a mixed cluster.

This is resolved in this commit by having the claimant periodically
check for a stalled ring and trigger a force update if the ring is
stalled. A stall is detected by checking if running the claimant logic
against the current ring would generate a ring that has different
cluster state than the current ring. If so, it is considered stalled
and the update forced.

Kyorai/riak_core