basho/yokozuna — pull request #289 by rzezeski (2014-01-31 16:34:01+00:00)
Title: Use cluster metadata for index list

Move the index list out of the ring and into cluster metadata. This is
beneficial for several reasons.

* As more data is stored in the ring it becomes larger slowing down
gossip.

* The larger the ring the more data that must be copied from ETS when
reading a ring that hasn't settled to mochiglobal.

* No longer need to listen to ring events which can become numerous
during ownership change and cause listeners to back up on messages.

* No need to send all create messages through the claimant. This had to
be done when using the ring because the list was stored under one key
in the ring metadata. Each key handles conflict resolution via a
physical timestamp which has 1 second resolution. Thus if you update
same key in same second on disjoint nodes you get data loss. This is
not an issue with cluster metadata becuase it uses a key _per_ index.