Support fetching entities by aliased name

See #385 (this PR supersedes it)

The final aim is allowing something like:

```php
$user = $em->find(UserInterface::class, 123);
```

This PR depends also on doctrine/common#342
I just want to allow full mutability here. Having a failure in a different listener should cause a reset to `null` eventually.