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.
You want `try...except` here not `try...finally`, otherwise you exit the function at the first exception without processing the whole list of pids, and since the call to `clean_up_pids()` in `clean_up()` is not in a `try...except block`, the `clean_up` function itself exits prematurely as the exceptions gets propagated all the way up to the cron job.