Etcd watcher

Building on previous PRs, this implements etcd's watch in a form that I can hook up to the apiserver. Only the latest commit is unique to this PR.
Good catch, I missed a ```defer close(decoded)``` and corresponding check below.