[nat] Make create_sccp_src_ref return the SCCP Connection.

Right now it was not possible to just find a connection, by returning
the connection that is created we will have direct access to it. It
will be used by the local connection handling.
diff --git a/openbsc/src/nat/bsc_sccp.c b/openbsc/src/nat/bsc_sccp.c
index 47cd9ce..94b332a 100644
--- a/openbsc/src/nat/bsc_sccp.c
+++ b/openbsc/src/nat/bsc_sccp.c
@@ -82,7 +82,8 @@
 	return -1;
 }
 
-int create_sccp_src_ref(struct bsc_connection *bsc, struct bsc_nat_parsed *parsed)
+struct sccp_connections *create_sccp_src_ref(struct bsc_connection *bsc,
+					     struct bsc_nat_parsed *parsed)
 {
 	struct sccp_connections *conn;
 
@@ -101,11 +102,11 @@
 			bsc_mgcp_dlcx(conn);
 			llist_del(&conn->list_entry);
 			talloc_free(conn);
-			return -1;
+			return NULL;
 		} else {
 			clock_gettime(CLOCK_MONOTONIC, &conn->creation_time);
 			bsc_mgcp_dlcx(conn);
-			return 0;
+			return conn;
 		}
 	}
 
@@ -113,7 +114,7 @@
 	conn = talloc_zero(bsc->nat, struct sccp_connections);
 	if (!conn) {
 		LOGP(DNAT, LOGL_ERROR, "Memory allocation failure.\n");
-		return -1;
+		return NULL;
 	}
 
 	conn->bsc = bsc;
@@ -122,7 +123,7 @@
 	if (assign_src_local_reference(&conn->patched_ref, bsc->nat) != 0) {
 		LOGP(DNAT, LOGL_ERROR, "Failed to assign a ref.\n");
 		talloc_free(conn);
-		return -1;
+		return NULL;
 	}
 
 	bsc_mgcp_init(conn);
@@ -134,7 +135,7 @@
 	     sccp_src_ref_to_int(&conn->real_ref),
 	     sccp_src_ref_to_int(&conn->patched_ref), bsc);
 
-	return 0;
+	return conn;
 }
 
 int update_sccp_src_ref(struct sccp_connections *sccp, struct bsc_nat_parsed *parsed)