Make SSH key provisioning explicit and interactive for cloud-init VMs. Default CLOUDINIT_SSH_KEYS is now empty; new helper functions discover and extract public keys from common host files, count them, and present a whiptail menu (import all host keys, paste one key, specify a file, or none). configure_cloudinit_ssh_keys writes selected keys to a temp file and sets CLOUDINIT_SSH_KEYS accordingly (removing the temp file if empty). setup_cloud_init now only applies --sshkeys when CLOUDINIT_SSH_KEYS is explicitly provided and logs the source, and vm/docker-vm.sh invokes the key selection UI for cloud-init VMs.
Disables 'unbound variable' errors at the start of the script to prevent issues with unset variables, and restores the previous shell options at the end. This ensures compatibility and avoids unexpected script failures.
Update the logic for detecting errors during base package pre-installation in unifi-os-server-vm.sh by checking for 'error' in the output. Also correct URLs in cloud-init.func to use the correct repository path.