library: move Osmocom_Types.Arfcn to GSM_Types.GsmBandArfcn

In some cases GsmArfcn itself is not enough.  It case of L1CTL
and GSMTAP, it needs to be equipped with a band discriminator:

  - DCS / PCS (as the numbers may overlap),
  - Downlink / Uplink (not yet there).

Let's rename this record and move it to GSM_Types.  Also, add
send / receive tamplates, so we can add new fields later.

Change-Id: I7a63f03bbd15a06caafb786122dc12991d115771
diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn
index d0ad24b..3e2fba2 100644
--- a/library/LAPDm_RAW_PT.ttcn
+++ b/library/LAPDm_RAW_PT.ttcn
@@ -22,7 +22,7 @@
 
 	/* request to tune to a given ARFCN and start BCCH decoding */
 	type record BCCH_tune_req {
-		Arfcn arfcn,
+		GsmBandArfcn arfcn,
 		boolean combined_ccch
 	}
 
@@ -102,7 +102,7 @@
 		GprsCodingScheme cs,
 		uint8_t ts_nr,
 		GsmFrameNumber fn,
-		Arfcn arfcn,
+		GsmBandArfcn arfcn,
 		RlcmacUlBlock block
 	}
 	type union RLCMAC_ph_data_req {
@@ -198,7 +198,8 @@
 	}
 
 	/* tune to given ARFCN and start BCCH/CCCH decoding */
-	private function f_tune_bcch(Arfcn arfcn, boolean combined) runs on lapdm_CT {
+	private function f_tune_bcch(GsmBandArfcn arfcn, boolean combined)
+	runs on lapdm_CT {
 		var L1ctlCcchMode mode := CCCH_MODE_NON_COMBINED;
 		if (combined) {
 			mode := CCCH_MODE_COMBINED;
@@ -274,7 +275,8 @@
 	}
 
 	template (value) RLCMAC_ph_data_req ts_PH_DATA_ABS(uint8_t tbf_id, GprsCodingScheme cs,
-							   uint8_t ts, uint32_t fn, Arfcn arfcn,
+							   uint8_t ts, uint32_t fn,
+							   GsmBandArfcn arfcn,
 							   RlcmacUlBlock block) := {
 		abs := {
 			tbf_id := tbf_id,