NetworkSuggestionEvaluator: Honor app set priority for suggestions

Changes in the CL:
a) If there are multiple suggestions from a single app found in scan
results, prioritize them using the priority provided by the app.
b) For a given app, only networks with the highest priority are considered
connectable & added to WifiConfigManager.
c) Among the highest priority suggestions from different apps, select the
suggestion for the scan result with the highest RSSI.

Also, refactored maintenance of the match info inside the evaluator with
a helper class called MatchMetaInfo. This helps track the data better &
reduce the number of transformation needed to evaluate the networks.

Note: -1 is unassigned priority. Any network suggestion with assigned
priority is preferred over network with unassigned priority.

Bug: 127644378
Test:./frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: act.py -c wifi_manager_cross.config -tb dut-name -tc
WifiNetworkSuggestionTest
Test: act.py -c wifi_manager_cross.config -tb dut-name -tc
WifiNetworkSuggestionTest:test_connect_to_highest_priority
Test: Will send for regression tests.
Change-Id: I7c2e1eca18ec3a5bb31ddace87a6fd22844cf586
2 files changed