Changed obmc_boot_test to improve usability by robot programs.

- Created new obmc_boot_test_resource.robot to define parms for
  obmc_boot_test.robot.  This is to make it possible for other robot
  programs to have access to obmc_boot_functionality.
- Created process_pgm_parms function to process program parameters.
  Previously, this was done in the program prolog.
- Added support for new stack_mode parameter.  When stack mode is
  "normal", the program behaves as it always has.  In "skip" mode,
  when each boot test is pulled from the stack, the boot test is
  skipped if the system is already in the desired end state for
  the boot test in question.  This feature allows a user to run
  a boot like "REST Power Off" only if the machine is not already
  powered off.
- Renamed main_py to obmc_boot_test so that other robot files can
  call it and have it be more self documenting.  Example:
  OBMC Boot Test \ REST Power Off
- Added a single alt_boot_stack parm to the new obmc_boot_test
  function.  Again, this allows the user to call and pass a boot_stack
  as shown in the prior example.
- Added support for new boot_fail_threshold parameter.  This allows
  a caller to indicate how many failures are acceptable.  If the
  number of boot failures exceeds boot_fail_threshold, then the
  OBMC Boot Test keyword will fail.
- Switched many gen_robot_print references to gen_print.
- Made many changes to use new run_key function.

Change-Id: I56aad535dac30ab516fdc530866c09dcbca277f3
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/lib/utils.robot b/lib/utils.robot
index c044ac3..989d61b 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -38,6 +38,7 @@
 Get BMC System Model
     [Documentation]  Get the BMC model from the device tree.
 
+    Open Connection And Log In
     ${bmc_model}  ${stderr}=  Execute Command
     ...  cat ${devicetree_base} | cut -d " " -f 1  return_stderr=True
     Should Be Empty  ${stderr}
@@ -785,8 +786,9 @@
 Trigger Host Watchdog Error
     [Documentation]  Inject host watchdog error using BMC.
     [Arguments]  ${milliseconds}=1000  ${sleep_time}=5s
-    # Description of arguments:
-    # milliseconds  The time watchdog timer value in milliseconds (e.g. 1000 = 1 second).
+    # Description of argument(s):
+    # milliseconds  The time watchdog timer value in milliseconds (e.g. 1000 =
+    #               1 second).
     # sleep_time    Time delay for host watchdog error to get injected.
     #               Default is 5 seconds.
 
@@ -821,10 +823,11 @@
     ...  Network Mask, default gatway and serial console IP and port
     ...  information which should be provided in command line.
 
-    [Arguments]  ${host}=${OPENBMC_HOST}  ${mask}=${NET_MASK}  ${gw_ip}=${GW_IP}
+    [Arguments]  ${host}=${OPENBMC_HOST}  ${mask}=${NET_MASK}
+    ...          ${gw_ip}=${GW_IP}
 
-    # Open telnet connection and ignore the error, in case telnet session is already
-    # opened by the program calling this keyword.
+    # Open telnet connection and ignore the error, in case telnet session is
+    # already opened by the program calling this keyword.
 
     Run Keyword And Ignore Error  Open Telnet Connection to BMC Serial Console
     Telnet.write  ifconfig eth0 ${host} netmask ${mask}