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.
Actually, I think using a list means that you can use the internal document slicing in your queries, which might be helpful for paging.