Cleaned up code in AbstractDataEditor and AbstractDataEditorControl.
Made AbstractDataEditorControl inherit from INamingContainer to help with control id issues.
Made the ID and DataTypeName fields of AbstractDataEditor abstract so they must be implemented.