[!!!][BUGFIX] Resolve non-standard model/repository bindings
If a repository and the model it holds don't match via the naming
conventions, the ReflectionService did not detect that the model is
an aggregate root.
This involves a breaking change for those that are using the property
$objectType in their repositories. That needs to be changed to a
constant named ENTITY_CLASSNAME:
protected $objectType = 'FooBar';
needs to become
const ENTITY_CLASSNAME = 'FooBar';
As a bonus this change adds a new method getEntityClassName() to the
base repositories which can be used to find out which entity is managed
by a repository instance.