babeld: justify "running-config" meaning in CLI

The primary focus of this commit is to make "show running-config"
command display more current configuration, including some of the bits
previously seen in the output of "show babel running-config". Besides
that, the following commands were renamed for consistency with the
syntax of other components:

"debug *" to "debug babel *" (and moved to top level)
"show babel running-config" to "show babel parameters"

* babel_interface.c
  * show_babel_running_config(): rename to show_babel_parameters(),
    update syntax pattern, don't call show_babeld_configuration()
  * babel_if_init(): update respectively
  * babel_enable_if_config_write(): new VTY helper for static
    babel_enable_if
* babel_interface.h: add extern declaration
* babel_main.c: unset all debug options by default
  * show_babel_main_configuration(): remove debug options decoder
* babel_zebra.c
  * babel_debug(): rename to debug_babel(), update syntax pattern
  * no_babel_debug(): rename to no_debug_babel(), update syntax pattern
  * babelz_zebra_init(): update respectively
  * debug_babel_config_write() new VTY helper for static debug_type
* babel_zebra.h: add extern declaration
* babeld.c
  * babel_config_write(): add the code to output "debug babel *",
    "router babel", "redistribute *" and "network *" statements
  * show_babeld_configuration(): dismiss
* babeld.h: remove extern declaration
* babeld.texi: update for renamed commands
* babeld.conf.sample: idem, add debug statements block
diff --git a/babeld/babel_zebra.c b/babeld/babel_zebra.c
index ed6566f..75a1e6a 100644
--- a/babeld/babel_zebra.c
+++ b/babeld/babel_zebra.c
@@ -236,10 +236,11 @@
 
 #ifndef NO_DEBUG
 /* [Babel Command] */
-DEFUN (babel_debug,
-       babel_debug_cmd,
-       "debug (common|kernel|filter|timeout|interface|route|all)",
+DEFUN (debug_babel,
+       debug_babel_cmd,
+       "debug babel (common|kernel|filter|timeout|interface|route|all)",
        "Enable debug messages for specific or all part.\n"
+       "Babel information\n"
        "Common messages (default)\n"
        "Kernel messages\n"
        "Filter messages\n"
@@ -264,11 +265,12 @@
 }
 
 /* [Babel Command] */
-DEFUN (no_babel_debug,
-       no_babel_debug_cmd,
-       "no debug (common|kernel|filter|timeout|interface|route|all)",
+DEFUN (no_debug_babel,
+       no_debug_babel_cmd,
+       "no debug babel (common|kernel|filter|timeout|interface|route|all)",
        NO_STR
        "Disable debug messages for specific or all part.\n"
+       "Babel information\n"
        "Common messages (default)\n"
        "Kernel messages\n"
        "Filter messages\n"
@@ -293,6 +295,39 @@
 }
 #endif /* NO_DEBUG */
 
+/* Output "debug" statement lines, if necessary. */
+int
+debug_babel_config_write (struct vty * vty)
+{
+#ifdef NO_DEBUG
+    return 0;
+#else
+    int i, lines = 0;
+
+    if (debug == BABEL_DEBUG_ALL)
+    {
+        vty_out (vty, "debug babel all%s", VTY_NEWLINE);
+        lines++;
+    }
+    else
+        for (i = 0; debug_type[i].str != NULL; i++)
+            if
+            (
+                debug_type[i].type != BABEL_DEBUG_ALL
+                && CHECK_FLAG (debug, debug_type[i].type)
+            )
+            {
+                vty_out (vty, "debug babel %s%s", debug_type[i].str, VTY_NEWLINE);
+                lines++;
+            }
+    if (lines)
+    {
+        vty_out (vty, "!%s", VTY_NEWLINE);
+        lines++;
+    }
+    return lines;
+#endif /* NO_DEBUG */
+}
 
 void babelz_zebra_init(void)
 {
@@ -313,8 +348,10 @@
     install_node (&zebra_node, zebra_config_write);
     install_element(BABEL_NODE, &babel_redistribute_type_cmd);
     install_element(BABEL_NODE, &no_babel_redistribute_type_cmd);
-    install_element(BABEL_NODE, &babel_debug_cmd);
-    install_element(BABEL_NODE, &no_babel_debug_cmd);
+    install_element(ENABLE_NODE, &debug_babel_cmd);
+    install_element(ENABLE_NODE, &no_debug_babel_cmd);
+    install_element(CONFIG_NODE, &debug_babel_cmd);
+    install_element(CONFIG_NODE, &no_debug_babel_cmd);
 }
 
 static int