Integrate UI with authentication flow.

1. Integrate connect call into Blimp settings UI.

2. Polish the connect functions in java and c++, now identity_source is
responsible for handling GoogleServiceAuthError::REQUEST_CANCELED, since
the Java approach(AccountTrackerService listener) didn't work with
non-startup connect attempts. And code structure is cleaner in this way.

3. Removed BlimpSettingsCallback, and moved embedder functions into
BlimpClientContextDelegate. Also added testing classes for
BlimpClientContext and BlimpClientContextDelegate, but these classes can
only test shim Java layer.

4. Created BUILD.gn for core/settings, and put jni files there. Java
file is still in core/, for easier review diff. There will be future CL
to move these Java files.

5. Added BlimpClientContextInternal Java interface to decouple internal build
targets.

BUG=624457

Review-Url: https://codereview.chromium.org/2261273002
Cr-Commit-Position: refs/heads/master@{#415511}
34 files changed