Blimp: add support for SSL connections.

This CL allows the Blimp client to establish TLS-protected channels with the backend engine. The authenticity of the engine is validated by checking if its cert is an exact match of a certificate provided separately by the Assigner API.

* Create new Blimp SSL transport class: SSLClientTransport.
* Create custom CertValidator for checking an exact cert match against the SSL peer's cert
* Integrate SSLClientTransport with BlimpClientSession.
* Assignment: add certificate field.
* AssignmentSource: add certificate file reading; PEM file parsing;
  X509 certificate parsing.
* Created new DEPS entries as appropriate.

R=wez@chromium.org
CC=rsleevi@chromium.org
BUG=585279,589202

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

Cr-Commit-Position: refs/heads/master@{#378839}
27 files changed