[admin] add feature to clean up sources

Delete sources older than x days but keeps at least n revisions, both
given as parameter.

Deletes sources, keeps revisions if an other revision links to it,
if this revision will be kept (because it is younger than x days or
in the count of revisions that has to be kept).
Rewrites .rev files for the projects.

Process now is like this:

- read .rev files for hashes that should not be deletet (if set)
- read in all files from treesdir to resolve hash to files
- read in all sourcefiles
- save files that should not be deleted
- remove all saved sourcefiles that are not in keepfiles array
- rewrite .rev files
- delete unneded files in treesdir