Propagate connection info to Blimp android UI.
In 0.5 client, it's done in BlimpClientSession, which broadcasts
connection events, assignment result to the Java layer.
1. This CL port these functionalities to native code, in
core/session/connection_status. ConnectionStatus will cache engine info
and broadcast network events to other components in Blimp.
2. Also use delegate pattern to decouple the settings JNI bridge and
BlimpClientContextImpl.
3. Some utilities functions prepared for error messages handling in UI.
BUG=
624451,
646655
Committed:
https://crrev.com/d5f7fda40e4827bd9d9114acef9b126893b59892
Cr-Commit-Position: refs/heads/master@{#418707}