AudioPolicyService: Properly handle service restarts in UidPolicy

Add logic in UidPolicy for handling audioserver restarts as well
as ActivityManager (system server) restarts.

Also, refactor the UidPolicy logic to simplify reasoning about
active state lookup. As a result, 4 layers are considered:

1. Service UIDs--always active.
2. Overrides--controlled via 'adb shell cmd'.
3. Cached UIDs from ActivityManager--also updated via IUidObserver.
4. ActivityManager ground truth.

Bug: 73405145
Bug: 77300296
Test: android.media.cts.AudioRecordTest#testRecordNoDataForIdleUids
      manual tests with SoloTester
Change-Id: I426dd5d4d9c9c2570c0e03dde390e18f672c1b1d
2 files changed