Make VPN more testable and update NC during network change

This commit:
- Updates the NetworkCapabilities with new underlying network during
  IKE Session re-establishment
- Create wrapper classes for IkeSession
- Allow injecting executor and NetworkAgent with
  the Dependencies class

Bug: 192077544
Test: atest VpnTest(new tests)
Change-Id: Ic98e3906c2b02fa8b9f4a8e1366b1dd8a363bb47
1 file changed