New contact aggregator (part 1)
Summary of the changes are:
1. In RawContactMatcher, add rawContactId and accountId to MatchScore
   inner class, so that match score is on raw contacts level instead]
   of accumulate to contact level
2. Add a wrapper RawContactMatchingCandidates to MatchScore to
   facilitate the aggregation.
3. In ContactAggregator2, add findRawContactMatchingCandidates()
   method to find the set of matching raw contacts for a given
   raw_contact_id. This method will use the logic of
   updateMatchScoresForSuggestionsBasedOnDataMatches() so that
   it will give a set of raw contacts candidate with matching score
   above threshold.
4. The second stage "Pair-wise comparison and find the
   connected component of all the raw contacts in
   RawContactMatchingCandidates" is done in new method
   reAggregateRawContacts();
5. Some new methods still throw unSupportedOperationExceptions, and
   they will be implemented in part2.
6. Tests will be implemented in follow-up cls.

Bug:19908937
Change-Id: I53483a29c24401e2f38a727168e7431cef86370a
3 files changed