MEDIUM: map: dynamic manipulation of maps

This patch adds map manipulation commands to the socket interface.

add map <map> <key> <value>
  Add the value <value> in the map <map>, at the entry corresponding to
  the key <key>. This command does not verify if the entry already
  exists.

clear map <map>
  Remove entries from the map <map>

del map <map> <key>
  Delete all the map entries corresponding to the <key> value in the map
  <map>.

set map <map> <key> <value>
  Modify the value corresponding to each key <key> in a map <map>. The
  new value is <value>.

show map [<map>]
  Dump info about map converters. Without argument, the list of all
  available maps are returned. If a <map> is specified, is content is
  dumped.
diff --git a/include/proto/dumpstats.h b/include/proto/dumpstats.h
index fd345d5..0da3091 100644
--- a/include/proto/dumpstats.h
+++ b/include/proto/dumpstats.h
@@ -39,20 +39,24 @@
 #define STATS_TYPE_SO  3
 
 /* unix stats socket states */
-#define STAT_CLI_INIT   0   /* initial state, must leave to zero ! */
-#define STAT_CLI_END    1   /* final state, let's close */
-#define STAT_CLI_GETREQ 2   /* wait for a request */
-#define STAT_CLI_OUTPUT 3   /* all states after this one are responses */
-#define STAT_CLI_PROMPT 3   /* display the prompt (first output, same code) */
-#define STAT_CLI_PRINT  4   /* display message in cli->msg */
+#define STAT_CLI_INIT    0   /* initial state, must leave to zero ! */
+#define STAT_CLI_END     1   /* final state, let's close */
+#define STAT_CLI_GETREQ  2   /* wait for a request */
+#define STAT_CLI_OUTPUT  3   /* all states after this one are responses */
+#define STAT_CLI_PROMPT  3   /* display the prompt (first output, same code) */
+#define STAT_CLI_PRINT   4   /* display message in cli->msg */
+
+#define STAT_CLI_O_INFO  5   /* dump info */
+#define STAT_CLI_O_SESS  6   /* dump sessions */
+#define STAT_CLI_O_ERR   7   /* dump errors */
+#define STAT_CLI_O_TAB   8   /* dump tables */
+#define STAT_CLI_O_CLR   9   /* clear tables */
+#define STAT_CLI_O_SET   10  /* set entries in tables */
+#define STAT_CLI_O_STAT  11  /* dump stats */
 
-#define STAT_CLI_O_INFO 5   /* dump info */
-#define STAT_CLI_O_SESS 6   /* dump sessions */
-#define STAT_CLI_O_ERR  7   /* dump errors */
-#define STAT_CLI_O_TAB  8   /* dump tables */
-#define STAT_CLI_O_CLR  9   /* clear tables */
-#define STAT_CLI_O_SET  10  /* set entries in tables */
-#define STAT_CLI_O_STAT 11  /* dump stats */
+#define STAT_CLI_O_MAPS  12  /* list all maps */
+#define STAT_CLI_O_MAP   13  /* list all map entries of a map */
+#define STAT_CLI_O_MLOOK 14  /* lookup a map entry */
 
 /* HTTP stats : applet.st0 */
 enum {