[api] refactor HasAttributes a bit
[api] a small feature for bmwiedemann:

allow to search for requests that are after a specific id or were touched
after a specific time
[backend] send the notifications to an API route

It simply takes the params as JSON and POSTs it to /events in the
configured $apiurl - this needs to be changed to pull from srcsrv
before 2.5

The /notification route posts events to the plugins (hermes and rabbitmq
as configured)
[api] add an events controller

that POST to /events serves as notification route in the backend to
replace hermes

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