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.
It's a shame to do an O(n) search. I'd think about having `_find_course_assets` convert the array to a dict `filename : {struct.}` and caching these per request (only convert once per thread).