I tried to make DictFieldData strict about only being used with one
block. That effort failed ultimately, but these are reasonable changes
I made along the way.
By transparently proxying between the XModuleDescriptor and the XModule,
and between their runtimes, we can make them act as a single class, so
that we can swap in an actual XBlock instead.