also add a little utility struct to manage this kind of held-open transaction, with some error checking to help catch any errors where these transactions end up opened but not closed or vice versa
#jira UE-197380
#rb semion.piskarev, matija.kecman
[CL 29328451 by jimmy andrews in ue5-main branch]