Index different formats for phone number

In order to support better phone number search, we can generate different formats of the phone
number in the indexer and index them into AppSearch. Those formats includes:
- original format. E.g. 202-555-0111
- normailized: 2025550111
- E164: +12025550111
- national: (202) 555-0111
- national variant1: (202) 5550111
- national with country code: 1 (202) 555-0111

Those are all valid formats of a phone number, and can be used directly
for display purpose by our clients from a match.

This is best effort, and we will try to infer the country code from the
phone number provided in Phone.NORMALIZED_NUMBER in CP2. And it is
supposed to be in e164 format.

And we didn't use libphonenumber. Instead CountryCodeToRegionCodeMap is
copied over. And right now we won't infer the country code from
Telephony since CP2 is already doing that.

Bug: 159349201
Bug: 229950223
Test: ContactsIndexerTests with newly added tests for phone numbers

Change-Id: I5d71e31891a30024cf7f91df3f9db33e7393b229
8 files changed