[Sb refactor] Implement DataEnabledChangedListener

This CL changes the behavior of checking for mobile data enabled. The
old pipeline would await telephony callbacks and then poll for
`TelephonyManager.isDataConnectionAllowed`. Problem is that there was a
race condition with watching the settings and polling this field, so it
was often wrong on the first read.

This change implements the newer
TelephonyCallback.DataEnabledChangedListener, which can supplant the old
polling method and simplify our repositories.

Bug: 238425913
Bug: 260112365
Test: MobileConnectionRepositoryTest
Change-Id: Ied9eea844501cd03100d85286993f85df671b37d
14 files changed