Add test for AtomicUpdate

This PR also implements FakeEtcdClient.CompareAndSwap.

I'll squash this PR after review.
Also, I should have caught this in my earlier change. Actually this is P0 to get in. I may make a PR with just this one line change.