performance: avoid ring recalculation
performance: avoid ring recalculation

ring recalculation takes time and we could be smarter when adding
or updating a new node on the ring.

the only config parameters that are important when adding or
updating a node are: nodename, vnodes and weight.

if the node already exists and those config parameters are not
changed, we can update the node safely without recalculating
the entire ring.

ultrabug/uhashring