Separate namespace information from Object information

Namespace information applies to all types, while the Object information applies only to ObjectProperties subclasses.
You can still get all the namespace information (prefix, schemalocation) for an ObjectProperties indirectly.
Clean up rest of OBJECT_TYPES_DICT, remove testing code, refactor