CURATOR-151: SharedValue/SharedCount API update

No, not really.  The old version used a synchronized block.  This version uses a compare-and-set loop.  It's only a difference in how concurrency is handled, it's not an algorithm change.  For all practical purposes, the CAS loop almost never executes more than once.