GRAILS-8688 - Support for abstract domain classes in unit tests

The change is just to have the KeyValuePersistentEntity override the getParentEntity method to simply use the superClass regardless of whether it's concrete or abstract. By default, the AbstractPersistentEntity.initialize() only set parentEntity if the parent is not abstract. While that's correct for normal entity types, for the key value type it prevents the family and inheritance structure from being used and causes bad things.