Check String::ShellQuote for (perhaps) better quoting.

Add the ability to add command prefix for every type of echoing.

When running in script mode, take:
    $obj->output( [HOST], ARG , OPTIONS)
which returns some/all of the output.
    - ask for all command as a list (with/without commands with leading '#')
    - ask for output from a single command


Add a verbatim option to include a string (possibly multiline) verbatim.

If a command runs, it sets a variable:
  SC_# = 1
If it fails, set:
  SC_FAILED_# = 1

o Add a 'backout' command.  If the set of commands fails, then it will
  execute the backout commands (in reverse order) for all commands that
  actually ran to back out the changes.  An option exists to say whether
  the backout command will execute if THIS command fails, or only if
  future commands fail.

o Add a 'cleanup' command.  If a command ran, then at the end (after all
  commands have run), run the command's cleanup command.  Failure is
  ignored.

=====

o In non-script mode, if a command fails, and 'echo' is 'failure',
  the failed command is echoe'd at the end (not perfect, but better
  than nothing).  If it is a command with alternatives, we'll only
  display the last alternative unfortunately.

add checks for:

   for i in 1..3 ;do
      cmd
      cmd with repeats
   done

