[api] add an events model

The api pulls /last_notifications from backend and sends its own
events and the backend notifications back to the backend under
revert
[api] create a BranchCommentEvent in the API directly

It's only interesting if the branch command was triggered directly, not
for maintenance
[api] add the possibility to subscribe to events

You can subscribe globally or on project/package leel if you want to
get notifications (not yet implemented obviously) for events either
for
- none (overwriting more global defaults)
- project maintainership
- package maintainership
- all
[webui] add basic functionality to edit user subscriptions