MS set_mode()/set_current_cs_*() inconsistent results
- it's possible to set current DL MCS higher than max value
- EGPRS and EGPRS_GMSK have the same max DL MCS
- setting EGPRS* mode drops current/max MCS values to unknown
This should be fixed/documented and covered by unit tests. The incomplete implementation for the latter is available in https://gerrit.osmocom.org/c/osmo-pcu/+/13164 but it's not working properly yet due to ASAN bug cause by side effects in GprsMsStorage::ms_idle() which can delete MS which is triggered by GprsMs::detach_tbf() via GprsMs::update_status().