Add container garbage collection.

Work in progress, will add unit tests this evening, assuming this looks ok.
nit: s/5/a flag-configured limit/