Handle pairing client ID in the negotiating authenticators.

Previously PairingAuthenticator classes were responsible for handling
client ID. This meant that in case there are multiple pairing
authentication methods the client would have to resend the client_id
if the host chooses different authentication method. Now the client
ID is handled by the negotiating layer, so client_id needs to be sent
only once.

Also now NegotiatingAuthenticators create PairingAuthenticators even
when falling back to PIN. This ensures that <pairing-failed> tag is
always present when falling back to PIN.

BUG=593123

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

Cr-Commit-Position: refs/heads/master@{#381633}
14 files changed