Extract common properties into DefinedObject.

- Add some tests for File objects.
Replace xsi_type with xsi:type
PEP8 fixes
Add support for object_reference to Address types
Use shorter "get" syntax in Address._from_dict
Reorder Object() constructor arguments
PEP8 fixes.
Clean up Observable and add a bunch of tests