gprs-ns/stats: When the NSVCI is updated, update the stats counter

The NS object is created with an unknown identity and only after
the reset procedure has progressed (completed?) we know the real
ID for this peer. Before nobody has looked at the idx values (this
could have been seen with the CTRL interface) but with statsd the
wrong NSVCI becomes obvious.

Add routines to update the idx and I don't know if the change of
idx is causing any issues but we will find that out soon.
diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h
index 03b1bfb..4fecdfa 100644
--- a/include/osmocom/core/rate_ctr.h
+++ b/include/osmocom/core/rate_ctr.h
@@ -71,6 +71,11 @@
 					    const struct rate_ctr_group_desc *desc,
 					    unsigned int idx);
 
+static inline void rate_ctr_group_upd_idx(struct rate_ctr_group *grp, unsigned int idx)
+{
+	grp->idx = idx;
+}
+
 void rate_ctr_group_free(struct rate_ctr_group *grp);
 
 void rate_ctr_add(struct rate_ctr *ctr, int inc);
diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h
index c2ad8cf..c1466f8 100644
--- a/include/osmocom/core/stat_item.h
+++ b/include/osmocom/core/stat_item.h
@@ -70,6 +70,12 @@
 	const struct osmo_stat_item_group_desc *desc,
 	unsigned int idx);
 
+static inline void osmo_stat_item_group_udp_idx(
+	struct osmo_stat_item_group *grp, unsigned int idx)
+{
+	grp->idx = idx;
+}
+
 void osmo_stat_item_group_free(struct osmo_stat_item_group *statg);
 
 void osmo_stat_item_set(struct osmo_stat_item *item, int32_t value);