Dhm/editable metadata

@cpennington I'm sure this collides w/ your PR. Can we get this in first? Please review

@cahrens @chrisndodge @singingwolfboy can one of your review it from the studio perspective?

This PR has xblock compute inherited fields via an override of the default fn. It standardizes the representation of inherited fields through a new KVS called InheritanceKVS and has all of the other ones derive from this or (in the case of LmsKVS) delegate to it when a default is needed. 

It replaces all simple dict model data containers w/ real xblock ones esp in the test code (already that way in prod code).

the 2 'x' commits were due to typos and not having lms kvs delegate.