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`.
I'm having a hard time grokking what you have in mind. Shall we hold off on this until #313 and #314 are implemented?