teach autoproj-docker --clean to keep some containers

We have to keep the containers that are providing us with volumes
refactor handling of source/image id generation to allow easy chaining of builds

The problem this commit solves is the one of having the images
generated by a build reused by another one. It refactors build
handling by making
 - Config#build actually build and eval its block on a Build object
 - Build use procs to generate the source and target image IDs