WifiScoreReport: Create a singleton ScoreUpdateObserverProxy

i) Extract the "ScoreUpdateObserverProxy" out of WifiScoreReport
class. Needed to ensure that the disposable ClientModeImpl's
(& associated WifiScoreReport) does not result in the external
scorer getting multiple "ScoreUpdateObserver" objects.
ii) Add a registration mechanism which can be used by the new primary
CMM (created as a result of a wifi toggle or MBB) to listen to actions
from the external scorer.

Bug: 175887153
Test: atest com.android.server.wifi
Test: atest android.net.wifi.cts.ConnectedNetworkScorerTest
Change-Id: I20c15fbdfcb8ec780397b912966c679888221041
7 files changed