qemu: snapshot: Introduce qemuSnapshotDiskContext
qemu: snapshot: Introduce qemuSnapshotDiskContext

Add a container struct which holds all data needed to create and clean
up after a (for now external) snapshot. This will aggregate all the
'qemuSnapshotDiskDataPtr' the 'actions' of a transaction QMP command and
everything needed for cleanup at any given point.

This aggregation allows to simplify the arguments of the functions which
prepare the snapshot data and additionally will simplify the code
necessary for creating overlays on top of <transient/> disks.

Signed-off-by: Peter Krempa <2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com>
Reviewed-by: Ján Tomko <4cab11cfb98d3c937327354a78eb07dbb6ee2bc6@redhat.com>

crobinso/libvirt,libvirt/libvirt,olafhering/libvirt,zippy2/libvirt,jfehlig/libvirt,crobinso/libvirt,olafhering/libvirt,zippy2/libvirt,jfehlig/libvirt,crobinso/libvirt,zippy2/libvirt,nertpinx/libvirt,olafhering/libvirt,libvirt/libvirt,olafhering/libvirt,libvirt/libvirt,jardasgit/libvirt,libvirt/libvirt,jardasgit/libvirt,nertpinx/libvirt,nertpinx/libvirt,jardasgit/libvirt,crobinso/libvirt,jfehlig/libvirt,jardasgit/libvirt,zippy2/libvirt,nertpinx/libvirt,jfehlig/libvirt,jardasgit/libvirt,nertpinx/libvirt