support query & update carrier id for current subs

restruture the carrier id provider into two parts:
    1. All - a complete mapping table for all carriers.
    this is a hidden table and requries special permission to read
    and write
    2. Current - carrier id information for the current active subscriptions.
    This is a public table require no permission to query.
    When carrier id of the current subscription changed, framework notify all
    interested parties which listen for the URI of the current subscriptions.

Test: manual
Test: runtest --path CarrierIdProviderTest.java
Bug: 72571475
Change-Id: Ie8a9196b45b68676ff0ead4691433eff88e9cd11
(cherry picked from commit fbbea61a6528c2ce687fd80fcc8bfa519a9b814c)
Merged-in: Ie8a9196b45b68676ff0ead4691433eff88e9cd11
2 files changed