DON'T MERGE: Fix cyclic imports

@tseaver this is a first stab and I want to discuss / see what you think.

The imports are easy to resolve in the `storage` package but not so in the `datastore` package. See the commit messages for more details.