nat: Allocate the endpoint status dynamically

Allocate the status for an endpoint dynamically. We will support
BSCs with different amount of multiplexes and need to have this
flexibility in the future. Add the proper null checks to the
current users of this code.
diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.c b/openbsc/tests/bsc-nat/bsc_nat_test.c
index c5edbfe..d5b1ab1 100644
--- a/openbsc/tests/bsc-nat/bsc_nat_test.c
+++ b/openbsc/tests/bsc-nat/bsc_nat_test.c
@@ -479,7 +479,7 @@
 		fprintf(stderr, "Assigned timeslot should have been 1.\n");
 		abort();
 	}
-	if (con.bsc->endpoint_status[0x1b] != 1) {
+	if (con.bsc->_endpoint_status[0x1b] != 1) {
 		fprintf(stderr, "The status on the BSC is wrong.\n");
 		abort();
 	}
@@ -498,7 +498,7 @@
 
 	bsc_mgcp_dlcx(&con);
 	if (con.bsc_endp != -1 || con.msc_endp != -1 ||
-	    con.bsc->endpoint_status[1] != 0 || con.bsc->last_endpoint != 0x1b) {
+	    con.bsc->_endpoint_status[1] != 0 || con.bsc->last_endpoint != 0x1b) {
 		fprintf(stderr, "Clearing should remove the mapping.\n");
 		abort();
 	}