[Sb refactor] Move subIdFlow into its own repository

This CL keeps the pattern of "MobileIcons/MobileIcon" to distinguish 2
layers of MobileConnection repositories here:
`MobileConnectionsRepository` and `MobileConnectionRepository`. This
allows us to use ad-hoc repository classes to track state from
`TelephonyManager` objects created using
`TelephonyManager#createForSubscriptionId`.

The intention now is that the top-level repository will track and cache
the child repos as needed, and remove its cache when the subscription
list changes such that they no longer track valid subIds. Downstream
observers will still have to be cleaned up via the UiAdapter, which will
close the observed data streams.

Test: atest MobileConnectionRepositoryTest
Bug: 240492102
Change-Id: Id53733ac8a84869a57133b2e0055105a716a219d
13 files changed