Fix the static initialization order fiasco

Make sure that the singleton classes aren't working on uninitialized
containers.

Remove Ben's debug-and-fix statement in favor of a simple assert.

This fixes things for me, but ideally we should wait to hear from Cody before merging.