faft: Change the action tuple to support error_msg

We used the format of action tuple before, like (function, arg1, arg2, ...).
We want to specify the error_msg such that an user knows better why the test
is failed. So this CL changes the action tuple to (function, args, error_msg).

The args and error_msg are optional. The args is either a value or a tuple
if multiple arguments.

BUG=chromium-os:22598
TEST=run_remote_tests.sh --remote=$DUT control.faft_lv1
     run_remote_tests.sh --remote=$DUT control.faft_lv2
     run_remote_tests.sh --remote=$DUT -a "new_ec=foo" control.faft_lv3

When a test fails, it returns somethings like:
13:31:58 INFO |         FAIL    firmware_CorruptFwBodyB.dev     firmware_Corrupt
FwBodyB.dev     timestamp=1347600718    localtime=Sep 14 13:31:58      Not succe
ed: calling <bound method firmware_CorruptFwBodyB.crossystem_checker of <firmwar
e_CorruptFwBodyB.firmware_CorruptFwBodyB object at 0x2d1f490>> with args ({'trie
d_fwb': '1', 'mainfw_act': 'B'},) returning False

Change-Id: I5f016da443ccc8c067a4621e6bf881ef99bdd481
Reviewed-on: https://gerrit.chromium.org/gerrit/33290
Reviewed-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
14 files changed