Use ACL-specific endpoints where feasible for buckets.

- Refactor lazy-handling of 'acl' and 'default_object_acl' using properties.

- Fetch 'ac' and 'defaultObjectAcl' via GET to specific endpoints.

- Continue to update 'acl' and 'defaultObjectAcl' via PATCH to the object's
  resource (we can't do incremental updates to ACEs).

Fixes #163.
Use ACL-specific endpoints where feasible for keys.

- Refactor lazy-handling of 'acl' using a property.

- Fetch 'acl' via GET to a specific endpoint.

- Continue to update 'acl' via PATCH to the object's resource (we can't do
  incremental updates to ACEs).

Fixes #151.
Fix save/clear ACL operations.

Borked by dropping the 'projection' qs param to PATCH.  Docs spell
a default, but then note that overriding it w/ 'full' is required
(and we need 'full' anyway, because we expect to read the resulting
ACL back).
Move APIs for reload/save/clear ACLs onto ACL objects themselves.

Fixes #324.
Document semantics of upload to existing key.

Point to the 'object versioning' and 'lifetime' specs for details about
how to override the default (overwrite unconditionally).

Fixes #162.
Rename 'dirty'->'save_to_backend'.

Drop unneeded comment.

Feedback from @dhermes.
Use 'add_entity' directly when populating from scratch.
Improve class attr name: '_SUBKEY'->'_URL_PATH_ELEM'.
Document how 'NotFoundError' propagates.

Describe suppressing it via 'bucket.delete_keys([key], on_error=lambda k:None'.

Fixes #160.
Merge pull request #327 from tseaver/162-document-key-upload-overwrite-semantics

Fix #162:  Document semantics of upload to existing key.
Merge pull request #326 from tseaver/324-move_acl_manip_from_bucket_key_to_acl

Fix #324: Move ACL back-end manipulations from bucket / key to acl objects
Typo:  no star-arg required.
Note source of exception.

Incorporates feedback from @dhermes.
Merge pull request #328 from tseaver/160-doc_avoid_notfound_when_del_key

Fix #160:  document how 'NotFoundError' propagates.
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).