tracking changes works the way it is supposed to. Creates a TracksChangesEntityBase class for any other entity
that wants to implement IRememberBeingDirty (now Entity inherits from this). Upgraded a bunch of other entities that
were not tracking changes properly.
kept all properties, etc.. internal just so that they can be found so we don't have to register them.
Updates unit test to ensure the plugin manager is init'd properly with the 'false' override. Ensures that the base
db test also initializes the plugin manager properly.
Adding PropertyGroup and PropertyGroupCollection classes U4-926.
Adding PropertyType and PropertyTypeCollection classes U4-925.
Adding DataTypeDefinition and DataTypeDatabaseType U4-927.
Had to update the Property ref. on page and DynamicDocumentExtensions because of a conflict with the new Property class.