Added alter-data

`alter-data` changes the data on the server *atomically*, similar to what clojure's `alter` function does with `ref`s.

Any chance this gets added? It is somewhat similar to `compare-and-set-data`, except that it takes a fn just like clojure's `alter`, rather than a static `expected-value` that needs to be matched on the server side.