add gsm48_decode_bcd_number2() from osmo-msc

gsm48_decode_bcd_number() is unable to provide proper bounds validation of
input and output data, hence osmo-msc's vlr.c introduced a static
decode_bcd_number_safe() a long time ago. Move to libosmocore.

I need to use the same function to decode an MSISDN during inter-MSC Handover,
instead of making it public in osmo-msc, rather deprecate the unsafe function
and provide a safer version for all callers. Mark the old one deprecated.

Change-Id: Idb6ae6e2f3bea11ad420dae14d021ac36d99e921
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 5bb189f..9c5123e 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -312,6 +312,7 @@
 gsm48_encode_ra;
 gsm48_hdr_gmm_cipherable;
 gsm48_decode_bcd_number;
+gsm48_decode_bcd_number2;
 gsm48_decode_bearer_cap;
 gsm48_decode_called;
 gsm48_decode_callerid;