Add Boot classes

Improve sample Device YAML to make it easier to parse.
Build a QEMU command line.
Add Timeout support for Actions.
Create a framework for initiating a shell connection.
Add initial code for sending text to the booted KVM.

Change-Id: I8409be6d02ba186206838ab06b6b7ddd266beb4c
Improve LMP modules status init code :
The test board can always connect with the LMPs, we can submit a non-LMP test(there isn't lmp_module section in the json file) jobs or a LMP-related test jobs.
patch detail:
    Add "def data_integrate(lmp_module_data, config)" in actions/lmp/init_boards.py for merging lmp default init data and lmp test init data
    Add lmp_*_defconf in config.py for lmp module default config data, for example:
        lmp_*_id = {module_name : id code}
        lmp_*_defconf = {module_name : default config}
            lmp_sata_id = {"default":"13060066"}
            lmp_sata_defconf = {"default":"disconnect"}
            lmp_usb_id = {"default":"13060020"}
            lmp_usb_defconf = {"default":"disconnect"}
            lmp_eth_id = {"default":"13060020"}
            lmp_eth_defconf = {"default":"disconnect"}
            lmp_hdmi_id = {"default":"13060020"}
            lmp_hdmi_defconf = {"default":"disconnect"}
            lmp_lsgpio_id = {"default":"13060020"}
            lmp_lsgpio_defconf = {"default":"a_in"}
            lmp_audio_defconf = {"default":"disconnect"}
    Improve LMP init code in job.py

Change-Id: Iba643a2e545a05c76cc2a0a0644a39d7e64818b9
Fix a typo in pipeline sample jobs.

Change-Id: Ia0796c34eadc224d93d5d317fbaf0f6c97e0681c
Fix PEP8.

Change-Id: Ia32b5d7c57b5a5967651ef44b6582ccf3070774b
Pipeline: add some FIXMEs and comments

Change-Id: I8196d334fef644496a950c1e0e35b67574c83b58
fastboot: raise CriticalError when deployment fails

Change-Id: I1309cad7ec7e03cec67b6e36ef2bad5c81405aca
Merge branch 'master' into staging
fastmodel: save uefi variables only when present

Change-Id: Ia411f45db63c6fa9476ac34b85c7daa0b0868121
Merge branch 'master' into staging
Run commands inside the shellconnection

Populate the test definition metadata.

Change-Id: I9f3d48a35fd15a456b117a9cfafefe0c005bac3f
nfs: update all configs to use tcp, hard, intr options by default

Change-Id: Iab1019017bbbbe286a3fe70452a82972087f61ca
mcdivitt: add device-type configuration

Change-Id: Ie61b927b646540edeb10a8f72428c4203692b0bc
utilite-pro: add device-type configuration

Change-Id: Id8a705520862f307c6eed9e98e8cbd18f6dfafdf
fastmodel: simplify power off routine

Change-Id: Iba6836dd9368313874aa4943d53d97e3052a1a87
dlk: add support for appended dtb, xip, and zImage conversion

Change-Id: Iabf368302b73cb9af84cc3cb926c0e53a77b17f5
juno: merge wg into vexpress

* enable tftp booting for ramdisk and NFS
* allow default uefi and bl1
* remove wg.py and wg.conf

Change-Id: Ib27e6b94d11fb2bf3ee6818911c81e880b5d9351
Merge branch 'master' into staging
fastboot: create generic name for appended kernel image

Change-Id: I46e1a2539dbe67227696dee6f75a66dcefd2ad60
vexpress: add device-type configs for a5 and a9

Change-Id: Iaed2e782c76787feca967f279135a624daee338e
vexpress: sync tc2 device-type config with lab config

Change-Id: I9891cc8abf22c246727586916b83372424a88b42