Nested transactions can be in rolled back state when deleting.
When we unload we have to cleanup the containers.
On teardown we delete the transactions in the pool, too.
Remove the reset of the expelled decl.
Move the execution engine cleanup upfront.

The EE cleanup needs to mangle the name in order to clean it up from the module.
The mangler iterates over the redecl chain, which is a problem because if we
exclude the decl from the redecl chain first we end up in infinite loop.