shared/shell: Add bt_shell_cleanup

This releases resources used for shell initialization.
This is needed as a separate function to enable clean shutdown
when an application needs to exit prior to calling bt_shell_run(),
e.g., when failing program initialization based on processed command
line input options.
diff --git a/src/shared/shell.c b/src/shared/shell.c
index 10f2626..33bc0d9 100644
--- a/src/shared/shell.c
+++ b/src/shared/shell.c
@@ -1001,11 +1001,16 @@
 
 	mainloop_run();
 
+	io_destroy(signal);
+
+	bt_shell_cleanup();
+}
+
+void bt_shell_cleanup(void)
+{
 	bt_shell_release_prompt("");
 	bt_shell_detach();
 
-	io_destroy(signal);
-
 	if (data.envs) {
 		queue_destroy(data.envs, env_destroy);
 		data.envs = NULL;