def execute(tool, options='')
      Sprout.stdout.puts("#{tool} #{options}")
      runner = get_and_execute_process_runner(tool, options)
      error  = runner.read_err
      result = runner.read

      if(result.size > 0)
        Sprout.stdout.puts result
      end

      if(error.size > 0)
        raise Sprout::Errors::ExecutionError.new("[ERROR] #{error}")
      end

      result || error
    end
def execute(tool, options='')
      Sprout.stdout.puts("#{tool} #{options}")
      runner = get_and_execute_process_runner(tool, options)
      error  = runner.read_err
      result = runner.read

      if(result.size > 0)
        Sprout.stdout.puts result
      end

      if(error.size > 0)
        raise Sprout::Errors::ExecutionError.new("[ERROR] #{error}")
      end

      result || error
    end
Creates a new process, executes the command
 and returns whatever the process wrote to stdout, or stderr.

 Raises a +Sprout::Errors::ExecutionError+ if the process writes to stderr