[AF] Added Rationalization to Eliminate Phone Country Code False Positives

Added a set of field type relationship rules (in the form of an
unordered_map) which will be used by a new function to determine whether
a field should be handled by Autofill or not.

For example, for Autofill to support fields of type
"PHONE_HOME_COUNTRY_CODE", there would need to be at least one other field
of type "PHONE_HOME_NUMBER" or "PHONE_HOME_CITY_AND_NUMBER".

New rules can easily be added to the unordered_map, which makes the
approach very scalable.

No need to add the logic for the FAX numbers, as these aren't supported
in the client, and are automatically set to UNKNOWN_TYPE.

Unit tests were added.
Manual test was performed against crbug and at
https://seblalancette.github.io/rationalization.html

Bug: 735479
Change-Id: I8a3a8388fb9e7e567163c4a504c21a314a340877
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1564797
Commit-Queue: Sebastien Lalancette <seblalancette@chromium.org>
Reviewed-by: Fabio Tirelo <ftirelo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#651450}
3 files changed