Pull in / reconcile all PRs for #314

Incorporates / supersedes:
- #340
- #341
- #342
- #343 (fixes up)
- #344
- #345
- #346

Implements #314.
Library code (the `Bucket` class).

IMO, pylint has no business injecting that opinion:  it is a thumb-rule, and entirely depends on the application.  Here we are mapping a server-side object with [dozens of documented properties](https://cloud.google.com/storage/docs/json_api/v1/buckets).