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.
EVERYTHING
diff -r ec612a6291f1 alpha/one
--- a/alpha/one
+++ b/alpha/one
@@ -0,0 +1,1 @@
+1
diff -r ec612a6291f1 beta/two
--- a/beta/two
+++ b/beta/two
@@ -0,0 +1,1 @@
+2
BETA ONLY
diff -r ec612a6291f1 beta/two
--- a/beta/two
+++ b/beta/two
@@ -0,0 +1,1 @@
+2
INSIDE BETA
diff -r ec612a6291f1 beta/two
--- a/beta/two
+++ b/beta/two
@@ -0,0 +1,1 @@
+2