Handle docker and fig build cancellations

If a build is cancelled things aren't cleaned up properly. This fixes that.

It won't automatically clean up all the images… because you lose the speed benefit of the docker image build cache. The code is there to do it, but it's commented out.