Fix listening NetworkRequests to listen for all networks.

This is a small change but should fix a number of functional problems:
1. When registering a listening NetworkRequest and when a Network is
   validated, we should always add the listening NetworkRequest to the
   Network's list of NetworkRequests if the Network satisfies the
   NetworkRequest.  Previously in both cases this was only done for
   the highest scoring network.  This enables the listening
   NetworkRequest to listen for all networks, not just the highest
   scoring network.
2. No longer add listening NetworkRequests to mNetworkForRequestId as
   it doesn't make sense as it's a 1:1 mapping but listening
   NetworkRequests to Networks is a many:many mapping.
3. Don't "keep" a Network that's finished validating when only a
   listening NetworkRequest requests it.
4. Don't send updated scores to NetworkFactories from listening
   NetworkRequests.  NetworkFactories and NetworkAgents shouldn't
   concern themselves with listening NetworkRequests.

bug:16680764
Change-Id: Iaba14263227771e4bd84ee4bce488beaef20a8a3
1 file changed