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.
I'm sure this is fine, but for some reason I always have to look at it 2x to figure out why you're doing it this way v just scanning until you find filename and stopping. I doubt that the list will be long enough to make a computational difference, but it seems odd to me.