Modify EGPRS DL TBF flow to support SPB

Modify the EGPRS DL TBF flow to support Split block during
Retx. This patch will also Upgrade the test suite with test cases
to validate the EGPRS Downlink SPB for Retransmission

Scenarios like MCS6->MCS3, MCS4->MCS1, MCS5->MCS2, MCS9->MCS3
MCS7->MCS2, MCS8->MCS3 have been simulated and Integration tested
in NuRAN 1.0 hardware thoroughly.

Change-Id: I242afdd8ae7622dec8593b26382ad66bad5b9516
diff --git a/src/rlc.h b/src/rlc.h
index b1a1fba..b693418 100644
--- a/src/rlc.h
+++ b/src/rlc.h
@@ -213,18 +213,19 @@
 };
 
 void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc,
-	GprsCodingScheme cs, bool with_padding);
+	GprsCodingScheme cs, bool with_padding, const unsigned int spb);
 void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc,
 	GprsCodingScheme cs, bool with_padding);
 void gprs_rlc_data_block_info_init(struct gprs_rlc_data_block_info *rdbi,
-	GprsCodingScheme cs, bool with_padding);
+	GprsCodingScheme cs, bool with_padding, const unsigned int spb);
 unsigned int gprs_rlc_mcs_cps(GprsCodingScheme cs, enum egprs_puncturing_values
 	punct, enum egprs_puncturing_values punct2, int with_padding);
 void gprs_rlc_mcs_cps_decode(unsigned int cps, GprsCodingScheme cs,
 	int *punct, int *punct2, int *with_padding);
 enum egprs_puncturing_values gprs_get_punct_scheme(enum egprs_puncturing_values
 	punct, const GprsCodingScheme &cs,
-	const GprsCodingScheme &cs_current_trans);
+	const GprsCodingScheme &cs_current_trans,
+	const enum egprs_rlcmac_dl_spb spb);
 void gprs_update_punct_scheme(enum egprs_puncturing_values *punct,
 	const GprsCodingScheme &cs);
 /*