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.
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'.
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