nat: Copy the IMSI, then free it or move the context to the connection

Extract the IMSI from the first message as well and safe it
in the connection structure. The problem is that we do not
have this structure at this point, so we will allocate the
imsi as child of the bsc_connection and then move/steal it.
diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.c b/openbsc/tests/bsc-nat/bsc_nat_test.c
index 75bd803..141775c 100644
--- a/openbsc/tests/bsc-nat/bsc_nat_test.c
+++ b/openbsc/tests/bsc-nat/bsc_nat_test.c
@@ -705,6 +705,7 @@
 	nat_entry = bsc_nat_acc_lst_entry_create(nat_lst);
 
 	for (i = 0; i < ARRAY_SIZE(cr_filter); ++i) {
+		char *imsi;
 		msgb_reset(msg);
 		copy_to_msg(msg, cr_filter[i].data, cr_filter[i].length);
 
@@ -727,7 +728,7 @@
 			abort();
 		}
 
-		res = bsc_nat_filter_sccp_cr(bsc, msg, parsed, &contype);
+		res = bsc_nat_filter_sccp_cr(bsc, msg, parsed, &contype, &imsi);
 		if (res != cr_filter[i].result) {
 			fprintf(stderr, "FAIL: Wrong result %d for test %d.\n", res, i);
 			abort();
@@ -738,6 +739,7 @@
 			abort();
 		}
 
+		talloc_steal(parsed, imsi);
 		talloc_free(parsed);
 	}