update etcd to consul for k/v

This commit continues the work with consul.

Assumes that puppet and validation will be
tracked with ttl checks.

Adds dependencies.

This still uses the k/v store for tracking
version. I also don't feel entirely confident
that this will not introduce bugs.
Is __delitem__ really needed? Typically, you do something like:

del self.consul.kv[whatever]