[api] refactor what happens when a source is changed

We mark the backend infos as dirty by deleting the backend_package
relation. This needs to be checked by all routes accessing kinds and
issues though
[api] update the dirty packages with low prio
[api] refactor project status calculation

make the caching based on Ids