Fix EZP-22081: As a developer, I want to be able to seamlessly use multiple user providers

https://jira.ez.no/browse/EZP-22081

This PR introduces a mechanism allowing to use multiple user providers with eZ Publish.
Symfony natively supports multiple user providers, but this patch allows to match a user from a *foreign* provider (e.g. LDAP) to an existing user in eZ repository.

It uses `SecurityEvents::INTERACTIVE_LOGIN` and sends another specific event. Listeners can eventually create and/or retrieve a user from eZ repository and return it. It will be then be used for repository specific user access.

[Specification can be found here](https://github.com/ezsystems/ezpublish-kernel/blob/c406b332546cea49438556c8db41fd7e74ba8fa1/doc/specifications/security/multiple_user_providers.md)

## TODO
* [x] Implement mechanism
* [x] Tests
* [x] Write specifications and an example