LAVA-1568 - DF: Change the log structure

This patch is a continuation of 537a4328174e which implements the following:

 * LAVA-1729 - Separate dir for each top level action log
 * LAVA-1730 - Do not repeat log message in oob_file and yaml logs
 * LAVA-1731 - Do not repeat log message in top level action logs

Change-Id: I4c593e4035a9de97843d2a4752b1fc8afb686b3e
LAVA-1568 - DF: Change the log structure

Implements the following:

 * LAVA-1733 - Remove logging module imports everywhere

Change-Id: Ib4fd7e19bcf139b978d9023d466bf6bb9f89640d
Pipeline: log download progress

If the total size is known, log every 5 percent. If the size is unknown, log
every 25MB.

Change-Id: Iad96382caec99ed4f3d51ef4480efdd69e9d1aed
Pipeline: log download speed and time

Change-Id: Ibbf6c726ad5a33855e327c1162b6b10c28cfcc4c
Fix a typo and pep8 errors

Change-Id: I35836c248298e25a86c18f7431c944251e6d09ba
Download files unchanged if no decompression specified.

Compression is not guessed, an explicit value must be given.
If not given (e.g. for an nfs rootfs), do not change the
filename.

Change-Id: I8db22b9dd1e7b068aee6336dda2eb97cd0f2b1a2
VCS helpers: improve the code and rename path

Change-Id: I303605d8064532291c8f2f119d2806114d4783ae
Use VCS helpers in the RepoActions

Only Git and Bzr are using the vcs helpers for the moment. Once all RepoActions
are using the VCS helpers, we should factorize the run function.

Change-Id: I8f94facf1dd0ab85349812c4f9824557cea5e317
tftp: fix crash if the exception is raised

The root Action class is expecting self.errors to be a string.

Change-Id: I1b1aea16afdfe0ead61f05ab2647a71ef02d62a4
set the same priority for BzrRepoAction and GitRepoAction

Change-Id: I921a743193f4d347be84eba4c48f122ebb63c2f3
Make os selection explicit

LAVA-1704 - require explicit setting for the
deployment data operating system. Ensures that
an install step in the YAML is properly supported.

Change-Id: I08c35be454cfff967e1e47f7eea32e1b98ca263c
deploy: Add boot_part and root_part parameters

The boot partition and root partition numbers are really properties
of the image to deploy. While it's not uncommon for devices to have a
convention for a common partition layout, that doesn't mean this will be
the default layout for all images.

Add parameters to the deploy_image command to override the defaults if
necessary.

Change-Id: I0fce5694b9bed1197963718b8402a6d09c086d7f
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Customisable timeout support

LAVA-1707, LAVA-409 - support overriding named
timeouts across jobs, device configuration and device
types. Allow for some timeouts to be protected and clamp
all overrides of timeouts from job files to within a
configurable maximum.

Change-Id: I2a378ff54fc7372311bd1610bf0f099febffc3af
android: allow enable_network_after_boot_android to be user specified

Change-Id: Ifbe57e867f49e6ede455c364e24f1094653cdcab
master: Don't test being in the master image if the serial is down

If the serial connection to a device has been dropped, prodding it to
see if it's in the master image is a bit pointless. Not just pointless,
it also an exception to be thrown by sendline.

So instead, simply assume the device needs to be booted into master
image mode again if the serial connection is gone.

Change-Id: I1dd3f24afe8d017468c8e25dada2112567a4b2fe
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Re-write fstab with testboot/testrootfs labels

This code helps to fix the case where the test image
reads the /etc/fstab for properly remounting the boot and
rootfs partitions.

The re-write uses the configuration values testboot_label and
testrootfs_label to re-write the fstab file.

Change-Id: Ifbccaaa859833c0f205042a220d3f5364cc62a33
master: reconnect to console for each boot to master

Change-Id: If3a77db1b6c3d5c31e41d36b22764039358d98cc