Ticket 49153 - Remove vacuum lock on transaction cleanup
Bug Description: Previously we held a vacuum lock to prevent
conflicts during transaction clean up. This created a bottleneck.
Fix Description: Remove the vacuum lock in favour of a pacman style
reference count, where each parent holds a refcount to the child, and
decrements it on free.
https://pagure.io/389-ds-base/issue/49153
Author: wibrown
Review by: mreynolds (Thanks!)