Add library of VirtualBox functions
Add library of VirtualBox functions

This changeset adds a library of functions for interacting with
VirtualBox via VBoxManage. It contains functions for creating and
booting VMs, taking snapshots, configuring disks, networking, and
shared folders.

In addition, its vm_attach_guestadd-iso can ask VirtualBox for the
guest-additions ISO and, if that fails, look for it on the local
filesystem or download the correct version from virtualbox.org. On
Windows (wbatch), the function relies on VirtualBox providing the
guest-additions ISO (which on that platform appears to be a safe bet).

Partial-Bug: 1312764
Implements: blueprint openstack-training-labs
Change-Id: Id5529432eba01bd1e3e67a1d64b7517efd1966d0

Nabs007/training-guides,harrisonfeng/training-guides,openstack/training-guides,harrisonfeng/training-guides,Nabs007/training-guides,openstack/training-guides,harrisonfeng/training-guides,Nabs007/training-guides