Initial VirtualBox support

This patch adds initial support for launching OSv instances under
VirtualBox.  The startup sequence is based on Asias He's vbox-demo.sh
script:

  https://github.com/asias/vbox-demo

We also configure VirtualBox serial console to use a Unix domain socket
and make Capstan connect to it and use VBoxHeadless to _not_ start up
the VM in background to work like QEMU does.

In future, we probably want "capstan up" like functionality Vagrant has
for launching VMs in the background.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Simplify image probing

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
vbox: Fail if image format is not supported

Fail if the user attempts to run an unsupported image format under
VirtualBox rather than starting up a VM that just hangs.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
VMDK image format probing

VirtualBox also supports VMDK image format for virtual appliances so
teach image probing how to detect the format.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Support running VMDK images under VirtualBox

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Introduce VMConfig for QEMU

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Clean up QEMU port redirects

Make QEMU port redirects configurable via VMConfig and remove forced SSH
and HTTP forwards for now.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Fix QEMU VM launching on Darwin

Enable KVM only if Capstan is running on Linux and drop the "scsi=off"
option which is not really required on Linux and not supported on
Darwin.

Reported-and-tested-by: Asias He <asias@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>