Refactoring duplicate code between storage.key and storage.bucket.

@tseaver We discussed this waaaay back in #238.

Let me know how much of the tests you want me to move from `Bucket` / `Key` specific stuff into `test__helpers`.
Agreed. Will remove.

Do you want me to update the `ACL` classes here or do that in another PR?