Make XModuleDescriptor and XModule act as a single class

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.
Convert due_date_display_format tests to use factories

Previously, these tests modified due_date, which failed due to the new
restrictions on writing to Scope.settings from the LMS.