Land Recent QUIC Changes.

Always lose packets in QUIC if they're more than an RTT before the
largest observed.

Adds a minimum early retransmit time of 5s, similar to time based loss
detection's.

Merge internal change: 83289398
https://codereview.chromium.org/836613007/

Killing off QUIC version 19.

Merge internal change: 83268951
https://codereview.chromium.org/823463005/

Fix a bug where QUIC's TCP sender set the ssthresh to 1 when the RTO
timer fired twice.  Not flag protected.

Merge internal change: 83260860
https://codereview.chromium.org/836393008/

Always unregister and close() the QUIC FD when destroying a QuicTestClient.
Suspect that the long running QUIC prober is eventually exhausting
available sockets.

Without this it's easy to leak FDs in a long running process: create and
Initialize() a QuicClient, then either destroy it immediately (FD is
still open), or send a request which results in a ConnectionClose()
response - the closing of the FD is dependent on the client still being
connected...

Merge internal change: 83253606
https://codereview.chromium.org/832073004/

Updates outdated tests for testing behavior when FEC packets are marked
as lost.

test-only change.

Merge internal change: 83222210
https://codereview.chromium.org/840173003/

Change QUIC's RTO to be based on the last sent packet. Protected by
FLAGS_quic_rto_uses_last_sent.

Merge internal change: 83148541
https://codereview.chromium.org/845593004/

[email protected]

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

Cr-Commit-Position: refs/heads/master@{#310828}
43 files changed