Multinode: Allow one device to boot another device

Once booted, the second device will be seen like another device by LAVA and
will be able to run tests and grab results on it.
For the moment, only the ST devices (booting using the STMC) are supported.

Change-Id: Icca44e9a2e80749a5eed35d929524b5ca1b4aedc
Preserve SELinux support in test images and tarballs

Allow master image devices to detect if the test image
can retain support for SELinux by checking the version of
tar installed in the master image.

Use SELinux options transparently elsewhere as the dispatcher
is known to support it on all supported LAVA installs.

Drop support if the test image has a version of tar --selinux
outputs "unrecognized" when called in the master image.

Change-Id: I978d7f6cf2c39e4e45f79c517fc48addfd0920da
Adding support for mount and umount

Add initial support for test shell overlays
and test definitions.

Change-Id: I0d6a19e6d8238209b5b9d72d6d3192181e785eb7
Test definition handlers

Also use a RepoAction base class for the VCS handlers.
Implement initial redesign of Device configuration.
Add support for LAVA overlays.
Deploy test definitions.

Change-Id: I0444ce70bfe2f70762a7f835b429c260767a6fc8
Outline of a new Device class

Migrate to YAML for Device configuration which allows
devices and device types to specify a list of deployment
styles and boot methods which can be supported.

Change-Id: Icdeb1d9c4228cf36ee1c4fe3e7e551d7ecf28462
cubieboard3: enable kernel dhcp for ramdisk booting

Change-Id: I85d048da1da505c620d3031b5d74c69884755746
cubieboard3: fix typo in boot_cmds_nfs

Change-Id: I70126fd5edfefea848b7d3b80bef6f117889e97d