Rework the mechanisms for defining data modules so that they follow the same pattern as other elements.
Rework the mechanisms for defining data modules so that they follow the same pattern as other elements.

This code also ensures data modules must be uniquely named.

icaughley/domgen,icaughley/domgen,realityforge/domgen,realityforge/domgen