Previously, any error returned from w.Close() would be ignored. This is
a problem since this function is responsible for returning any error
that occurred during the actual GCS transaction.
This fix also uncovered an issue in the corresponding test routine.
Furthermore, a "404 Not Found" error when writing an object is now
interpreted as if the bucket does not exist to ease debugging
(see https://github.com/tus/tusd/issues/241).
/cc @tab1293
* 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