lib/cmdline: Don't print exit code to stderr.

This reverts the changes from:
https://vanadium-review.googlesource.com/#/c/10128

After running some tools, I realized that the original ordering
was indeed intentional.  Added a comment.

Change-Id: Ic85d7e0cbe450ffedbb59959f2621994d760026c
diff --git a/cmdline/cmdline.go b/cmdline/cmdline.go
index 316c7a3..cc318be 100644
--- a/cmdline/cmdline.go
+++ b/cmdline/cmdline.go
@@ -586,10 +586,11 @@
 func (cmd *Command) Main() (exitCode int) {
 	cmd.Init(nil, os.Stdout, os.Stderr)
 	if err := cmd.Execute(os.Args[1:]); err != nil {
-		fmt.Fprintln(os.Stderr, "ERROR:", err)
 		if code, ok := err.(ErrExitCode); ok {
 			return int(code)
 		}
+		// We don't print "ERROR: exit code N" above to avoid cluttering stderr.
+		fmt.Fprintln(os.Stderr, "ERROR:", err)
 		return 2
 	}
 	return 0