[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