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.
a) prefer `snake_case` to `camelCase`
b) no need to pre-allocate accessors. If you want to change access patterns later, you can use `@property`. If you want to restrict something to read-only now, you can also use `@property` with no setter.