fix logging talloc ctx: add osmo_init_logging2()

Deprecate osmo_init_logging() for the benefit of adding an explicit talloc
context argument to new function osmo_init_logging2().  Pass a ctx to
log_init() instead of hardcoded NULL.

Before now, *all* of our code uses a NULL ctx for logging, which amounts to
talloc "leaks" hit by address sanitizer builds on newer gcc (e.g. gcc 7.3.0 on
debian 9).

This commit helps fixing "leaks" detected in e.g. osmo-bsc unit tests by a
sanitize build with gcc (Debian 7.3.0-12) 7.3.0.

Change-Id: I216837780e9405fdaec8059c63d10699c695b360
diff --git a/src/application.c b/src/application.c
index 2d237e2..d912eb7 100644
--- a/src/application.c
+++ b/src/application.c
@@ -114,13 +114,18 @@
  */
 int osmo_init_logging(const struct log_info *log_info)
 {
+	return osmo_init_logging2(NULL, log_info);
+}
+
+int osmo_init_logging2(void *ctx, const struct log_info *log_info)
+{
 	static int logging_initialized = 0;
 
 	if (logging_initialized)
 		return -EEXIST;
 
 	logging_initialized = 1;
-	log_init(log_info, NULL);
+	log_init(log_info, ctx);
 	osmo_stderr_target = log_target_create_stderr();
 	if (!osmo_stderr_target)
 		return -1;