qmp: convert blockdev-snapshot-sync to a wrapper around transactions