Implement 'responseStart' performance timing as time-to-first-byte for HTTP/1.1 and HTTP/2

For HTTP/1.1, use the time immediately after the first packet from the
header was read by the parser. This behaviour is verified by the test
wpt/resource-timing/resource-timing.html.

For HTTP/2, use `recv_first_byte_time` reported by the SpdyStream.

For cached responses, use the time after load, but before parsing the
headers of the cached entry.

Bug: 568024
Change-Id: I4a6215596be38b1deb84a56924522ef7925a94d4
Reviewed-on: https://chromium-review.googlesource.com/c/1356234
Commit-Queue: Andrew Comminos <acomminos@fb.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616589}
30 files changed