Allow plugins to add new entrypoints
The LLNG portal provides a large number of entrypoints (auth entrypoints, hooks, SP rules) However, in some situation these are not enough and a plugin might want to declare a new entrypoint.
A good example of this is #3039 (closed): the 2FA engine needs to be warned when a new 2FA module is loaded
Another example: #1471 (closed) : the menu plugin should be notified when a new plugin that adds a menu tab is loaded
Other examples might follow in the future. We could even refactor the OIDC issuer so that some of its feature become plugins (one plugin per grant_type, for example)
This PR introduces a new method to add entrypoints, and illustrates it by refactoring the custom 2FA module loading.
This feature (optionnaly) integrates with the new "service" concept
More details in 46cf7fd2