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.
If it's just for tests, then you might be better off setting up one or more custom assert functions. The problem with defining equality if it's not obvious how it should behave is that it often ends up confusing later (I had the same problem when I initially defined XBlock equality. I'm still not sure I have it 100% correct).