Support multiple ways of driving hftests, add UART

Move logic that gets the boot arguments of hftest to a separate build
target and implement the same interface for communicating over UART.

Add SerialDriver to hftest.py that drives the communication with a
device over serial port.

The UART backend for hftest depends on an implementation of
'hftest_device' interface to reboot the board when the test has
finished.

Change-Id: Idfcb2c6e9af9cd283e360993fa2580d4fea49594
8 files changed