Add OpenProject::Notifications as publish/subscribe mechanism

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.