provide a compiler pass for doctrine to register namespace aliases

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/4069

I realized that the compiler pass only allows bundles to register folders to load entities / documents but not namespace alias to make things like `CmfRoutingBundle:Route` work. This is an attempt to provide a separate compiler pass for this. Maybe we should instead provide a new combined compiler pass and have users switch to the new pass if available.

* [x] [Doctrine ORM](https://github.com/doctrine/DoctrineBundle/pull/316)
* [x] [DoctrinePHPCRBundle](https://github.com/doctrine/DoctrinePHPCRBundle/pull/158)
* [ ] Doctrine CouchDB
* [ ] Doctrine MongoDB
there are a couple of existing properties already, we can't restrict them as it would be a BC break. but can make these private, would have been better.