tbf: Store MS class in GprsMs objects

The ms_class value is a property of the MS and thus belongs to the
GprsMs class. Nevertheless the MS object is created after the TLLI
gets known, so the value still has to be stored in the TBF initially.

This commit add the ms_class value to the GprsMs class and introduces
TBF accessor functions which either access that object or, if that is
not available, the value stored locally.

Ticket: #1674
Sponsored-by: On-Waves ehf
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 85cd751..d1ed1cd 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -58,8 +58,8 @@
 static inline void tbf_update_ms_class(struct gprs_rlcmac_tbf *tbf,
 					const uint8_t ms_class)
 {
-	if (!tbf->ms_class && ms_class)
-		tbf->ms_class = ms_class;
+	if (!tbf->ms_class() && ms_class)
+		tbf->set_ms_class(ms_class);
 }
 
 static void llc_timer_cb(void *_tbf)
@@ -777,7 +777,7 @@
 	tfi = bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx, this->trx->trx_no);
 	if (tfi >= 0)
 		new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), NULL, tfi, trx,
-			ms_class, 0);
+			ms_class(), 0);
 
 	if (!new_tbf) {
 		LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");