Implementing storage regression tests to match gcloud-node.

Note meant to be merged. Some missing features were
uncovered or hard to use APIs and I want to discuss here
and then map out the plan (i.e. how to break this up).
Add support for the Bucket's 'versioning' field.

See: https://cloud.google.com/storage/docs/object-versioning

Addresses part of #314.
Add tests asserting that 'get_metatdata' raises w/ 'versioning'.
Add support for the Bucket's 'logging' field.

See: https://cloud.google.com/storage/docs/accesslogs

Addresses 'logging' part of #314.
Add CORS support to buckets.

See: http://www.w3.org/TR/cors/ and
     https://cloud.google.com/storage/docs/json_api/v1/buckets

Addresses 'cors' part of 314.
Add location support to buckets.

See: https://cloud.google.com/storage/docs/json_api/v1/buckets and
https://cloud.google.com/storage/docs/concepts-techniques#specifyinglocations

Addresses 'location' part of 314.
Expanded / explicit coverage and assertions for '_helpers._MetadataMixin'.
Remove redundant coverage for mixin methods.
Stop using 'metadata' to refer to all properties in bucket/key represetnation.

Make helper methods which get / set those properties private.

Split some dual-mode methods.
Wrap method / attr name in single quotes.
Add read-only properties for non-writable bucket fields.

Addresses last part of #314.
Merge branch '314-bucket_versioning_support' into 314-omnibus
Merge branch '314-bucket_logging_support' into 314-omnibus
Merge branch '314-bucket_cors_support' into 314-omnibus
Merge branch '314-bucket_location_support' into 314-omnibus
Re-order methods to match field order.
Make 'lazy' test less eager.
Fix up accessor / mutators methods to use new helpers.
Bucket has more fields than pylint wants to allow.
Merge pull request #319 from dhermes/storage-regression-tests

Implementing storage regression tests to match gcloud-node.