bsc: Move the BSC<->MSC variables to a new struct.

Move the MSC related information out of the bsc_data and update
the code to use this BSC configuration. This is greatly cleaning
up the code and in theory there might now be two BSC and two MSCs
that one application can handle (minus the missing VTY config)
diff --git a/src/bsc_sccp.c b/src/bsc_sccp.c
index ea13c43..f0bd600 100644
--- a/src/bsc_sccp.c
+++ b/src/bsc_sccp.c
@@ -28,9 +28,7 @@
 
 #include <string.h>
 
-extern struct bsc_data bsc;
-
-struct active_sccp_con *find_con_by_dest_ref(struct sccp_source_reference *ref)
+struct active_sccp_con *find_con_by_dest_ref(struct bsc_msc_forward *fw, struct sccp_source_reference *ref)
 {
 	struct active_sccp_con *con;
 
@@ -39,7 +37,7 @@
 		return NULL;
 	}
 
-	llist_for_each_entry(con, &bsc.sccp_connections, entry) {
+	llist_for_each_entry(con, &fw->sccp_connections, entry) {
 		if (memcmp(&con->dst_ref, ref, sizeof(*ref)) == 0)
 			return con;
 	}
@@ -49,7 +47,7 @@
 }
 
 
-struct active_sccp_con *find_con_by_src_ref(struct sccp_source_reference *src_ref)
+struct active_sccp_con *find_con_by_src_ref(struct bsc_msc_forward *fw, struct sccp_source_reference *src_ref)
 {
 	struct active_sccp_con *con;
 
@@ -57,7 +55,7 @@
 	if (!src_ref)
 		return NULL;
 
-	llist_for_each_entry(con, &bsc.sccp_connections, entry) {
+	llist_for_each_entry(con, &fw->sccp_connections, entry) {
 		if (memcmp(&con->src_ref, src_ref, sizeof(*src_ref)) == 0)
 			return con;
 	}
@@ -65,12 +63,13 @@
 	return NULL;
 }
 
-struct active_sccp_con *find_con_by_src_dest_ref(struct sccp_source_reference *src_ref,
+struct active_sccp_con *find_con_by_src_dest_ref(struct bsc_msc_forward *fw,
+						 struct sccp_source_reference *src_ref,
 						 struct sccp_source_reference *dst_ref)
 {
 	struct active_sccp_con *con;
 
-	llist_for_each_entry(con, &bsc.sccp_connections, entry) {
+	llist_for_each_entry(con, &fw->sccp_connections, entry) {
 		if (memcmp(src_ref, &con->src_ref, sizeof(*src_ref)) == 0 &&
 		    memcmp(dst_ref, &con->dst_ref, sizeof(*dst_ref)) == 0) {
 			return con;
@@ -80,11 +79,11 @@
 	return NULL;
 }
 
-unsigned int sls_for_src_ref(struct sccp_source_reference *ref)
+unsigned int sls_for_src_ref(struct bsc_msc_forward *fw, struct sccp_source_reference *ref)
 {
 	struct active_sccp_con *con;
 
-	con = find_con_by_src_ref(ref);
+	con = find_con_by_src_ref(fw, ref);
 	if (!con)
 		return -1;
 	return con->sls;