Gather etcd-related code in etcd pkg

Two main benefits here:
1. usage of etcd libraries centralized in a single package (except for go-etcd - the code still uses its data objects)
2. ability to wrap go-etcd.Client with fancy retry and error-handling logic to detect when etcd is unavailable