asn1helpers: Add 28 bit conversion function and use it for Cell ID

The padding bits in the bit string are at the end and the byte-order is
MSB-first. This means the number needs to be shifted left so the padding
bits are the least significant.
diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c
index 3e3715c..97cb32b 100644
--- a/src/hnbgw_hnbap.c
+++ b/src/hnbgw_hnbap.c
@@ -120,7 +120,7 @@
 	ctx->id.lac = asn1str_to_u16(&ies.lac);
 	ctx->id.sac = asn1str_to_u16(&ies.sac);
 	ctx->id.rac = asn1str_to_u8(&ies.rac);
-	ctx->id.cid = asn1bitstr_to_u32(&ies.cellIdentity);
+	ctx->id.cid = asn1bitstr_to_u28(&ies.cellIdentity);
 	//ctx->id.mcc FIXME
 	//ctx->id.mnc FIXME