NetworkChangeNotifier interface for tracking networks.

Design doc: https://goo.gl/QXm4Kk

Add NetworkChangeNotifier APIs for tracking when individual
networks come and go.  This API will be useful for
implementing intelligent QUIC connection migration.

Implementation of the new APIs for Android Lollipop and
newer releases.  A ConnectivityManager.NetworkCallback is
registered to monitor when individual networks come and go
in order to calculate when to send the new notification
APIs.

Allow binding UDP sockets to a specific network on Android
Lollipop and newer releases.

Review URL: https://codereview.chromium.org/1340083002

Cr-Commit-Position: refs/heads/master@{#352414}
24 files changed