Runbot Agressive Janitor

This is a module whose aim is to save space and processing power

It checks the runbot build directory for old builds.
It checks by looking at running builds and comparing the with the contents of the build directory. Any extra builds are removed along with associated databases.
It will also do it's best at kill processes which are orphaned.

Additionally, it sets all builds as done when starting up: A big issue with runbot is that when restarting the server, the build objects are still marked as running when they're clearly not.

Credit to @foutoucour who helped out with the implementation, especially the tests.
I would feel better with one (or three) try...except blocks inside the `for` loop, so that an OSError or any other exception on the first pattern does not prevent the cleanup from moving on. 

I agree that this is not supposed to happen, but there are system calls (`os.kill`, `shutil.rmtree`)in there which can raise exceptions, mainly OSErrors, and these deserves to at least be caught and properly logged.