Phase 1 of adding asset metadata saving to old Mongo

@dmitchell @cpennington Here's the first phase of my work. Look at the tests to see what is implemented and what isn't yet.
We have a notion of an `AssetKey` in `opaque_keys`. I'm not sure if it makes sense to use that as part of the key for asset metadata or not. In particular, it might make sense to keep the real filename as part of the `AssetKey` and out of the metadata storage.