Working towards atomic PUTs

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.
Maybe a note about supporting preExist here when the client library does?