[ios] Extract presentation from sync_error_infobar_delegate

SyncErrorInfobarDelegate is a model-like object that currently
displays UI via the dispatcher (eg, -showSyncSettings). We want
to extract presentation actions out of this model layer and
into the VC layer.

This CL introduces a protocol |SyncPresenter|.
The BVC and FirstRunSignInViewController conform to this protocol.
The presenter is plumbed into the SyncErrorInfobarDelegate to
handle presentation actions.

Bug: 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I54297d7aa0857596cddfd2297cfecda3b5b88afe
Reviewed-on: https://chromium-review.googlesource.com/750186
Commit-Queue: edchin <[email protected]>
Reviewed-by: Gregory Chatzinoff <[email protected]>
Reviewed-by: Mark Cogan <[email protected]>
Reviewed-by: edchin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#513991}
10 files changed