Use atomic create in EtcdHelper.AtomicUpdate

Before this CL, AtomicUpdate was only "atomic" on update operations where the entry already exist for given key.
If multiple AtomicUpdate were issued concurrently, all could succeed.

This CL fixes the issue by using EtcdClient.Create when creating new entry, which ensures that no previous entry exist.
I think create is a higher level concept that can't be determined here.  If I say create, and etcd says "it already exists" then I don't think that the automatic behavior in the core Create() method is "ok, update it anyway."  For instance, how would the following sequence be imposed:

```
user1: POST /service name=foo label=bar
user2: POST /service name=foo label=baz
```

The implementation here would mean both users would see the last write, but that's not the real intent of the POST action here.  Either user1 or user2 should get "AlreadyExists", and then they need to make the decision to PUT (overwrite) or change their name.