* First pass at etcd3 locker
* Add etcd packages to vendor ignore attribute
* Properly exclude etcd3locker from earlier versions of golang
* Etcd test to only run on go1.9 and go1.10
* Do not export internal etcd3locker methods
* context.TODO -> context.Background
* Return errors instead of logging
* Enforce a 1.5s timeout on acquiring a lease from etcd
* Allow etcd3 concurreny.NewSession manage KeepAlive connection
- Introduce LockerOptions to allow a custom session TTL (default: 60s); etcd3Locker can be initialized with NewWithLockerOptions if one wants granular control over TTL and prefix used for etcd3 keys
- Keep NewWithPrefix backwards compatible by calling NewWithLockerOptions
* Add comment on locker_test.go regarding testing the session KeepAlive
* Re-export main type
* Try to address missing github.com/gogo/protobuf/gogoproto package
* Update etcd package import to use go.etcd.io/etcd/clientv3
* Use forked go-etcd-harness for testing
* Add more extensive package overview / docs
* go fmt
* Fix test script
* Add downloaded etcd binary to path
* Add support for Google cloud storage as a DataStore
* Use memorylocker in GCS composer
* Add documentation and recursive compose
* Offset being calculated in getInfo. Tests not working
* Fix tests. Attach metadata to composed object.
* Add dependencies using govendor. Add new package to README. Add test instructions for AppVeyor
* Add google cloud internal and transport packages with govendor
* Adding more dependencies to pass travis integration
* Update w/ internal packages
* Skip tests on go1.5/1.6
* Gcsstore tests (#2)
* Refactor as a struct of clojures for testing
* Refactor to support tests
* Add docs
* Struct members cannot fufill the interface, adding wrapper functions
* update tests
* Update documentation
* add more tests
* Add gock and redo some tests
* Add gock
* remove unneeded clojures