cli: avoid logging command line errors in more cases
cli: avoid logging command line errors in more cases

"kubectl list" should print a plain text explanation ("Unknown command "list"
for kubectl. ...") without treating that multi-line error as a log message.

The previous heuristic didn't work here because the command itself was not
found. A better one is to check that command execution really started.

This is still not perfect: what if a command hasn't started logging yet or
never uses logging for its output and then returns an error? That works in
kubectl because it does its own error checking at runtime and then doesn't
return, but a more robust solution might be an explicit parameter that prevents
using klog.

Kubernetes-commit: 8fc7a9bce9ecad38197b5e65341c639cf830f7d2

kubernetes/component-base