pdch: Move enable/disable into the PDCH code

When a PDCH is disabled all resources should be freed. This is
currently not possible as the PDCH does not know where it belongs
to. On top of that the list (and other resources) should be
properly initialized on construction so that disable() is idempotent
and does not check if it was disabled. During the re-factoring I
noticed that during a sysmobts re-start some resources are not
freed. I left a warning in the code to resolve this issue later.
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index e5ca5b6..bf69296 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -104,7 +104,7 @@
 		struct gprs_rlcmac_pdch *pdch;
 
 		pdch = &trx->pdch[ts];
-		if (!pdch->enable) {
+		if (!pdch->is_enabled()) {
 			LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because "
 				"not enabled\n", ts);
 			continue;
@@ -265,7 +265,7 @@
 	for (ts = 0, i = 0; ts < 8; ts++) {
 		pdch = &tbf->trx->pdch[ts];
 		/* check if enabled */
-		if (!pdch->enable) {
+		if (!pdch->is_enabled()) {
 			LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because "
 				"not enabled\n", ts);
 			/* increase window for Type 1 */
@@ -421,7 +421,7 @@
 		for (ts = tx_win_min, i = 0; i < tx_range; ts = (ts + 1) & 7) {
 			pdch = &tbf->trx->pdch[ts];
 			/* check if enabled */
-			if (!pdch->enable) {
+			if (!pdch->is_enabled()) {
 				LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, "
 					"because not enabled\n", ts);
 				continue;
@@ -493,7 +493,7 @@
 		for (ts = tx_win_min, i = 0; i < tx_range; ts = (ts + 1) & 7) {
 			pdch = &tbf->trx->pdch[ts];
 			/* check if enabled */
-			if (!pdch->enable) {
+			if (!pdch->is_enabled()) {
 				LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, "
 					"because not enabled\n", ts);
 				continue;