Disconnect VPN when the underlying network is lost

This commit mainly does 2 things:
1. Reset IKE state and disconnect VPN network when the underlying
   network is lost.
   - It can prevent giving a false sense of connectivity to the
     app when the VPN is not working due to losing the underlying
     network, update the state of VPN is needed.
2. Update the exception of handleSessionLost() from null to
   IkeNetworkLostException.
   - It fixes the problem that the ERROR_CODE_NETWORK_LOST will
     not be sent when the underlying network is lost.

Bug: 245250164
Bug: 223843049
Test: atest FrameworksNetTests:VpnTest
Test: Manually test with VPN on and enable airplane mode to see if
      VPN network is disconnected and brought back when default
      network is back.
Change-Id: I8f250a2956a1eea5d4a6be20e59f4437d8c8f462
1 file changed