Resolving cyclic imports in storage package.

This is accomplished by moving the definitions of
BucketIterator and KeyIterator into their respective
modules (i.e. storage.bucket and storage.key).

This is not so big an issue because the parent class
iterator.Iterator does most of the work and the children
only require a small tweak.

Partially addresses #260 and is the first commit from #267