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>
4 files changed