Fixes to obmc_boot_test.py for re-use by other keywords.

- Needed to set sys.path if PYTHONPATH doesn't contain <git-repo>/lib/.
- Made greater use of new run_key functions.
- Renamed main_keyword_teardown to obmc_boot_test_teardown.
- Renamed obmc_boot_test to obmc_boot_test_py.
- Renamed Main to OBMC Boot Test and moved it from obmc_boot_test.robot
  to obmc_boot_test_resource.robot.  Also changed the call within it to
  pass along all arguments and to call the newly named
  OBMC Boot Test Py.
- Added support for ffdc_function_list.

Change-Id: Ie5b1145e0046e57b896fd11c402317a154d5db7b
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/extended/obmc_boot_test_resource.robot b/extended/obmc_boot_test_resource.robot
index da59112..f3ffaa5 100644
--- a/extended/obmc_boot_test_resource.robot
+++ b/extended/obmc_boot_test_resource.robot
@@ -16,9 +16,9 @@
 ...  pdu_username  pdu_password  pdu_slot_no  openbmc_serial_host
 ...  openbmc_serial_port  stack_mode  boot_stack  boot_list  max_num_tests
 ...  plug_in_dir_paths  status_file_path  openbmc_model  boot_pass  boot_fail
-...  ffdc_dir_path_style  ffdc_check  state_change_timeout  power_on_timeout
-...  power_off_timeout  ffdc_only  boot_fail_threshold  test_mode  quiet
-...  debug
+...  ffdc_dir_path_style  ffdc_check  ffdc_only  ffdc_function_list
+...  state_change_timeout  power_on_timeout  power_off_timeout
+...  boot_fail_threshold  test_mode  quiet  debug
 
 # Initialize each program parameter.
 ${openbmc_host}             ${EMPTY}
@@ -48,10 +48,11 @@
 ${boot_fail}                ${0}
 ${ffdc_dir_path_style}      ${EMPTY}
 ${ffdc_check}               ${EMPTY}
+${ffdc_only}                ${0}
+${ffdc_function_list}       ${EMPTY}
 ${state_change_timeout}     3 mins
 ${power_on_timeout}         14 mins
 ${power_off_timeout}        2 mins
-${ffdc_only}                ${0}
 # If the number of boot failures, exceeds boot_fail_threshold, this program
 # returns non-zero.
 ${boot_fail_threshold}      ${1000000}
@@ -63,3 +64,17 @@
 # test_really_running is needed by DB_Logging plug-in.
 ${test_really_running}      ${1}
 
+
+*** Keywords ***
+###############################################################################
+OBMC Boot Test
+    [Teardown]  OBMC Boot Test Teardown
+    [Arguments]  @{arguments}
+
+    # Note: If I knew how to specify a keyword teardown in python, I would
+    # rename the "OBMC Boot Test Py" python function to "OBMC Boot Test" and
+    # do away with this robot keyword.
+
+    OBMC Boot Test Py  @{arguments}
+
+###############################################################################