BUG/MINOR: cli: allow the backslash to be escaped on the CLI

In 1.5-dev20, commit 48bcfda ("MEDIUM: dumpstat: make the CLI parser
understand the backslash as an escape char") introduced support for
backslash on the CLI, but it strips all backslashes in all arguments
instead of only unescaping them, making it impossible to pass a
backslash in an argument.

This will allow us to use a backslash in a command over the socket, eg.
"add acl #0 ABC\\XYZ".

[wt: this should be backported to 1.7 and 1.6]
diff --git a/src/cli.c b/src/cli.c
index 239a505..a1923bc 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -434,13 +434,17 @@
 	while (++arg <= MAX_STATS_ARGS)
 		args[arg] = line;
 
-	/* remove \ */
+	/* unescape '\' */
 	arg = 0;
 	while (*args[arg] != '\0') {
 		j = 0;
 		for (i=0; args[arg][i] != '\0'; i++) {
-			if (args[arg][i] == '\\')
-				continue;
+			if (args[arg][i] == '\\') {
+				if (args[arg][i+1] == '\\')
+					i++;
+				else
+					continue;
+			}
 			args[arg][j] = args[arg][i];
 			j++;
 		}