vty: Use generic 'end' and 'exit' commands

Add bsc_install_default() and replace all install_default()

This patch adds bsc_install_default() which calls install_default()
and add 'exit' and 'end'. All other calls to install_default() are
replaced by calls to bsc_install_default().

Since 'exit' and 'end' are now added automatically to each node, the
explicit registrations of these commands are removed by this patch,
too.

The related tests succeed now without work-arounds (except for the
'config' node itself which is part of libosmocore).
diff --git a/openbsc/src/libmsc/smpp_vty.c b/openbsc/src/libmsc/smpp_vty.c
index dd9b0c0..bf503f5 100644
--- a/openbsc/src/libmsc/smpp_vty.c
+++ b/openbsc/src/libmsc/smpp_vty.c
@@ -509,7 +509,7 @@
 int smpp_vty_init(void)
 {
 	install_node(&smpp_node, config_write_smpp);
-	install_default(SMPP_NODE);
+	bsc_install_default(SMPP_NODE);
 	install_element(CONFIG_NODE, &cfg_smpp_cmd);
 
 	install_element(SMPP_NODE, &cfg_smpp_port_cmd);
@@ -519,7 +519,7 @@
 	install_element(SMPP_NODE, &cfg_no_esme_cmd);
 
 	install_node(&esme_node, config_write_esme);
-	install_default(SMPP_ESME_NODE);
+	bsc_install_default(SMPP_ESME_NODE);
 	install_element(SMPP_ESME_NODE, &cfg_esme_passwd_cmd);
 	install_element(SMPP_ESME_NODE, &cfg_esme_no_passwd_cmd);
 	install_element(SMPP_ESME_NODE, &cfg_esme_route_pfx_cmd);
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index 79c3457..19c78ea 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -975,9 +975,7 @@
 
 	install_element(CONFIG_NODE, &cfg_mncc_int_cmd);
 	install_node(&mncc_int_node, config_write_mncc_int);
-	install_default(MNCC_INT_NODE);
-	install_element(MNCC_INT_NODE, &ournode_exit_cmd);
-	install_element(MNCC_INT_NODE, &ournode_end_cmd);
+	bsc_install_default(MNCC_INT_NODE);
 	install_element(MNCC_INT_NODE, &mnccint_def_codec_f_cmd);
 	install_element(MNCC_INT_NODE, &mnccint_def_codec_h_cmd);