Refactored GCS tests and added tests for GCS versioning feature.

* Refactored the GCS-specific tests into their own module instead of living under the s3 integration module.
* Fixed misspelling of "harness".
* Added gs credential detection and unittest skip for all gs tests.
* Added tests for GCS versioning support.
* Fixed a few minor bugs that surfaced after writing versioning tests.