Add OpenProject::Notifications as publish/subscribe mechanism

https://openproject.org/work_packages/5311

This allows code to register for certain events, we might later use
this later e.g. for sending mails on specific events like WorkPackage
updates.

Changelog:

    * `#5311` Encapsulate ActiveSupport::Notifications