Base for new dispatcher design

Merge in pipeline support
Add YAML line number retrieval.
Merge CompositeAction into Pipeline

Change-Id: I75cfec232c83340adb77d3ca85cce32da2086846
Fix very basic python3 issues

These are for loading setup.py under python3, but the tests fail right
away because of some other misterious issues which still need to be
investigated.

Change-Id: I3cbef567b10dc0fe8bd1e123fb5ea7614dc02452
Provide debranded version of command names

Command names that contain "linaro" in it can now also be referenced by
the same name but without "linaro". The preexisting linaro-branded names
can still be used.

- deploy_linaro_image -> deploy_image
- boot_linaro_image -> boot_image

Change-Id: Icfb197f7c811c9674e57866691c5e612bbe20aef
Use LAVA_PROXY for git and bzr clone

This commit complete the work done in 33bc1c711bf4bd1004891cbeeff79b0f8ad64a5a

Change-Id: Ifec28b55154150dcf1f74fe0b1973a160e7bf86b
Factorize http_proxy settings

Change-Id: Ie44f13eb092f91f4d51fcbbffded591722ec0a09
fastmodels: run models as lavaserver user, and adjust permissions for temp directory

* lava-dispatcher package already depends on sudo
* packaging installations using lava-server 
  create a 'lavaserver' user by default

Change-Id: I3dfee93966faca824a98efad81f229394429665a
Add a configuration for b2120stxh407 ST boards

Change-Id: I0f4adb7cb4057583c2af6e7be1aaaea79c821a7f
Use /system/bin/sh instead of mksh

sh exists on all Android platforms, mksh
no longer does. Closes: #199

Change-Id: I61ba1a01bb9540443db971cb23dac7e744eae44b
LAVA-1462 - add elapsed time support

Change-Id: Ia2fe7f970b5e33ea20a465e06ae9c90838e1d605
Drop use of 'tr' as some Android images omit 'tr'

lava-send needs the MultiNode API library to use awk
instead of relying on support for 'tr'. Closes: #214
Ensure key=value pairs with empty values are dropped.
Allow for internal calls to use different behaviour.

Change-Id: I3542fb1980ed01bdad8e7199d42f8a4b52dc8c83
tr needs to be provided as well as awk - both are busybox applets.

This reverts commit df79dabf30095f4ee7686defe17efd5ad1de1288.

Change-Id: I2d004300ed1e9f4c17e14ea7f884cfbd7459de95
Fix for annotated tags.

Drop the timedate as this isn't useful
for looking up the commit hash.

Change-Id: I9ff2e02fb0ac573bdfc7d36bce755a65e1b0c706
LAVA-1299: Boot time metadata

Implements the following cards:

  LAVA-1473: Figure out logging bootloader load time
  LAVA-1474: Figure out logging kernel boot time
  LAVA-1475: Record boot time for different kernels

Change-Id: I10ff2764e3799f9e377eb059e9b2c4816cd43a80
Raise an error if fetching the test defs fails

The job will anyway crash some lines after with a strange error.

Change-Id: I34cdf18f27eea66128175c3bd548a219251ca2bd
Drop calls to sync

Use up to ten umounts to cover EBUSY from mount itself
when calling specific mount/umount operations on dispatcher
but never on device.
Drop calls to sync on dispatcher, mark calls which only
happen on the device.

Change-Id: Iddaa06901f814195ea2849fe26cffa7710a51c5b
pep8 fix

Change-Id: I300aaef8841618e886bc33990607c414d30d9d10
Allow staging builds after a production hot fix

Hot fixes change YYYY.MM to YYYY.MM.X where X is
an incrementing number. This causes staging builds
after the hot fix to be lower than the builds before
the fix. Drop the increment and use the time.day
field to increment staging builds.

Change-Id: I5af730ee58e6f1044b2dbb1d51c8f05ee8fdf5e6
Pep8 updates for E265

Change-Id: I0875ce5eef2652fab044b4e26d6aa4a28d2751d5
LAVA-1371 KVM pipeline example

Basic outline of a KVM job in the pipeline model.
Add specific outline Action classes for the deployment stages.
Add context support to the pipeline Job.
Fix deployment pipeline.
Support actual downloads
Support YAML log output and stdout output.

Adds dependency on python-requests and begins
migration of download support to requests module.

Change-Id: Ifc7639f5173ccaee746ecfc772294f8897bac652
Ensure python-requests is available

Change-Id: I89c088029d551d563e5e218cb95db56e9800fbb6