Reland of Update SCT serialization format in Expect-CT reports (patchset #1 id:1 of https://codereview.chromium.org/2963783003/ )

Reason for revert:
Accidentally skipped CQ checks on the previous reland. Broke the build on Windows due to truncation of hex literal bytes.

Original issue's description:
> Revert of Update SCT serialization format in Expect-CT reports (patchset #3 id:180001 of https://codereview.chromium.org/2960183003/ )
>
> Reason for revert:
> Compile failure on Win builder.
>
> Original issue's description:
> > Reland of Update SCT serialization format in Expect-CT reports (patchset #1 id:1 of https://codereview.chromium.org/2960163002/ )
> >
> > Reason for revert:
> > Fixing buffer overflow in test code
> >
> > Original issue's description:
> > > Revert of Update SCT serialization format in Expect-CT reports (patchset #3 id:40001 of https://codereview.chromium.org/2959593002/ )
> > >
> > > Reason for revert:
> > > Heap-buffer-overflow on Chromium OS ASAN builders during ChromeExpectCTReporterTest.SendReport.
> > >
> > > Please see comments on revert CL for more detail.
> > >
> > > Original issue's description:
> > > > Update SCT serialization and other format details in Expect-CT reports
> > > >
> > > > This adds a net::ct::EncodeSignedCertificateTimestamp function alongside the
> > > > existing CT serialization functions, and uses it to properly encode SCTs in
> > > > Expect-CT reports.
> > > >
> > > > The relevant spec change is
> > > > https://github.com/httpwg/http-extensions/commit/20c5cfd5ef5b630e142b3251ecafc004ad8f2092,
> > > > though it hasn't made it into a published draft yet. Before, we were including a
> > > > JSON object containing a subset of information from the SCT based on the source of
> > > > the SCT, but that was deemed unnecessary and now the spec just says to include a
> > > > standard serialization of the SCT.
> > > >
> > > > The other report format changes made to bring the implementation in line with the
> > > > spec are:
> > > > - Shortening the 'origin' string values
> > > > - Wrapping the report in a JSON dictionary with a single 'expect-ct-report' key
> > > >
> > > > BUG=679012
> > > >
> > > > Review-Url: https://codereview.chromium.org/2959593002
> > > > Cr-Commit-Position: refs/heads/master@{#482905}
> > > > Committed: https://chromium.googlesource.com/chromium/src/+/19bd384f656790e8e409086b5b97a53b3a6f5921
> > >
> > > TBR=mattm@chromium.org,estark@chromium.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=679012
> > >
> > > Review-Url: https://codereview.chromium.org/2960163002
> > > Cr-Commit-Position: refs/heads/master@{#482924}
> > > Committed: https://chromium.googlesource.com/chromium/src/+/8af690d4cd89e0e402d08ce8e4f078acf862a317
> >
> > TBR=mattm@chromium.org,engedy@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=679012
> >
> > Review-Url: https://codereview.chromium.org/2960183003
> > Cr-Commit-Position: refs/heads/master@{#483070}
> > Committed: https://chromium.googlesource.com/chromium/src/+/03b29e1fbf80c616d6aaff6201ee8771f4df986b
>
> TBR=mattm@chromium.org,estark@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=679012
>
> Review-Url: https://codereview.chromium.org/2963783003
> Cr-Commit-Position: refs/heads/master@{#483090}
> Committed: https://chromium.googlesource.com/chromium/src/+/3817bb935917d0215bab904c063c47cbe3db3142

TBR=mattm@chromium.org,engedy@chromium.org
BUG=679012

Review-Url: https://codereview.chromium.org/2957063005
Cr-Commit-Position: refs/heads/master@{#483239}
5 files changed