Add compression support in EGPRS PUAN

This adds compression of bitmap in PUAN. The compressed bitmap
is used only if the number of bits in the bitmap does not fit in
the message and there is a gain after compression.
The algorithm is part of libosmocore and so there is dependency
on the libosmocore for compilation.
The algorithm is tested on integration setup by forcing compression.

Change-Id: Id2eec4b5eb6da0ebd24054b541b09b700b9b40ba
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 657255d..33d94a8 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -827,14 +827,16 @@
 	if (egprs_ms_class > 0 && bts->egprs_enabled) {
 		tbf->enable_egprs();
 		tbf->m_window.set_sns(RLC_EGPRS_SNS);
-		/* TODO: Allow bigger UL windows when CRBB encoding is supported */
-		tbf->m_window.set_ws(RLC_EGPRS_MIN_WS);
 		setup_egprs_mode(bts, ms);
 		LOGP(DRLCMAC, LOGL_INFO, "Enabled EGPRS for %s, mode %s\n",
 			tbf->name(), GprsCodingScheme::modeName(ms->mode()));
 	}
 
 	rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot);
+
+	if (tbf->is_egprs_enabled())
+		tbf->egprs_calc_ulwindow_size();
+
 	/* if no resource */
 	if (rc < 0) {
 		talloc_free(tbf);