WIP: Add container garbage collection.

Work in progress, will add unit tests this evening, assuming this looks ok.
The current policy is to clip at 5 dead containers.  I would argue that this is sufficient, since either:

a) you are in crash loop, and the priority is on cleaning up containers, rather than getting all status codes.

b) You are having slow failures, in which case 5 container is sufficient to cover the X time that you are interested in.

I added a flag to specify a minimum GC age so that people can adjust if they feel it is necessary.