All PUTs now atomic

Don't commit yet, needs tests.

Add ResourceVersion to JSONBase, hook it up to etcd index to get atomic PUTs.

Move etcd helpers to tools package so they can depend on api package. Clarify in doc comments that util must not depend on api package, but tools may.
hrm, I think this places the other 'err' in a new scope?  If that's true, doesn't this mean that you won't return an error if you fail to find the JSONBase?