Add support for cloning VirtualBox VM snapshots, linked clones

This commit adds two new configuration options for VirtualBox runners:

  • "base_snapshot": The name or UUID of a snapshot of the VM to clone. If this is empty or excluded, the current state of the VM will be cloned (as is the existing behavior).

  • "linked_clone": Whether or not a linked clone of a VM snapshot should be created when initially cloning the VM. Using linked clones can significantly reduce cloning time as well as the disk space needed for the clone, as the VM disk image does not need to be copied when cloning. This is ignored if "base_snapshot" is empty or unspecified.