[api] update the dirty packages with low prio
[api] refactor project status calculation

make the caching based on Ids
[api] fix testsuite

I forgot to commit before I pushed - happens to the best :)
[api] work on errbit reports
[api] ignore recordnounique error while saving backend_package

there is a race going on between two processes to update dirty
srcmd5s. there is nothing we can do about it, but we can make sure
it's not become an error
[api] do not try to delete nothing

If a submit request is set to cleanup but is from home:$USER it won't
cleanup - but it shouldn't crash either
[api] refactor messages controller

I would like to get rid of it actually, it's never been used (in SUSE's
instances at least)
[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