transactions: avoid late tear-down (issue641)
We use weak references (ugh) to avoid having to manually delete
transaction references out of each call frame when an exception occurs.
abort: index 00changelog.i unknown format 2!abort: requirement 'indoor-pool' not supported!