[api] refactor more of the source controller
[api] fix some problems related to project status
[api] disarm the code quality test a bit

- raise the limit for the blacklist to 50, if all our functions would be below
50 I would be happy enough :)

- do not fail if the score lowers
[api] remove some "similiar" code
[api] enhance the update dirty job

having a delayed job for every dirty package just does not scale, so
let's bundle them to dirty projects and have one job per project - outside
of seldom migrations, the number of dirty packages should be low, but
migrations explode the number of dirties
[api] fix package kinds for incident projects

make sure all packages are !dirty if accepting incident project
[backend] make tardiff work with tar balls that do not contain the top directory

An example package is the libsolv tarball.
[api] fix long standing issue in the calculation of user filtered project status
[api] validate tracker specified in _patchinfo files
[webui] offer a year of numbers - they are scaled anyway

(and it's interesting to see how it looked in the past
[api] some code cleanup in FullTextSearch
[api] Consider underscores as word separators in sphinx
[api] Unit test for FullTextSearch
[backend] improve last Srcdiff commit
[api] cache the project status a bit

It's not overly expensive, but expensive enough not to redo it when
I query the infos for the reminder mails in a loop
[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
test HTML in the API