Expect ms object to exist before calling tbf_alloc_ul_tbf()

It's really non-sense from architectural point of view to pass an
optional pointer to the MS holding the TBF and creating it otherwise.
TBFs shouldn't be creating MS they belong too.

This simple change requiring so many code line changes really exhibits
how badly entangled the object relationship is.

Another commit will follow doing the same for dl tbf.

Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c
diff --git a/src/bts.cpp b/src/bts.cpp
index 1d073aa..2916ee7 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -753,6 +753,7 @@
 	uint8_t tsc = 0, ta = qta2ta(qta);
 	uint8_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit);
 	bool failure = false;
+	GprsMs *ms;
 
 	rach_frame();
 
@@ -792,9 +793,10 @@
 				"Uplink (AGCH)\n");
 		}
 	} else {
+		ms = ms_alloc(0, egprs_ms_class);
 		// Create new TBF
 		/* FIXME: Copy and paste with other routines.. */
-		tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, egprs_ms_class, true);
+		tbf = tbf_alloc_ul_tbf(&m_bts, ms, -1, true);
 
 		if (!tbf) {
 			LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource sending "