Etcd consistent store creates sync wrapper

Let EtcdConsistentStore use an EtcdClient rather than forcing the caller to faff about with SyncEtcdClient.

Also rolls in a couple of other fixes:
- a TODO to create JsonObjects directly in fakeetcd
- a json wrapper double free issue.
Actually, I think this came about a some intermediate stage, looking at it again I don't think there's any reason to lose this constness, putting it all back in.