def exit(ret)
      @exit_status = ret
      if defined? Rbkb::Cli::TESTING
        throw(((ret==0)? :exit_zero : :exit_err), ret)
      else
        Kernel.exit(ret)
      end
    end
def exit(ret)
      @exit_status = ret
      if defined? Rbkb::Cli::TESTING
        throw(((ret==0)? :exit_zero : :exit_err), ret)
      else
        Kernel.exit(ret)
      end
    end
Instantiates a new Executable object.

 The 'param' argument is a named value hash. The following keys are
 significant:

  :argv   - An array of cli arguments (default ARGV)
  :opts    - executable/function options for use when running 'go'
  :stdout, - IO redirection (mostly for unit tests)
  :stderr,
  :stdin


 The above keys are deleted from the 'param' hash and stored as instance
 variables with attr_accessors.  All other parameters are ignored.
 Wrapper for Kernel.exit() so we can unit test cli tools