CURATOR-151: SharedValue/SharedCount API update

For more reference, check out [5 Things You Didn’t Know About Synchronization in Java and Scala](http://www.takipiblog.com/5-things-you-didnt-know-about-synchronization-in-java-and-scala/).

"If the CAS fails the JVM will perform one round of spin locking where the thread parks to effectively put it to sleep between retrying the CAS. If these initial attempts fail (signaling a fairly higher level of contention for the lock) the  thread will move itself to a blocked state and enqueue itself in the list of threads vying for the lock and begin a series of spin locks."

I'm essentially doing in code what the synchronization did internally.  That's why I didn't have to rewrite any test code other than for the API change on the new method that was recently added.