Make SyncEtcdClient just wrap an async EtcdClient.

Nope, can totally be an actual instance - done.