Landing Recent QUIC Changes.

Remove unused QUIC_VERSION_20.

We are already speaking QUIC_VERSION_21 in the wild, and QUIC_VERSION_20
was never intended to be used. Not much code removed in this CL, but
should make end to end tests a bit faster.

Merge internal change: 74594489
https://codereview.chromium.org/532093002/

Change GetLeastUnacked() to return the next packet that could be sent
when there are no packets in flight instead of 0.

This should help solve the problem we are seeing in trace logs from
internal servers where the ack line drops to 0.

Merge internal change: 74396185
https://codereview.chromium.org/530343002/

Change IsRetransmittable to not check transmission type but instead let
ShouldDiscardPacket check it directly.

Merge internal change: 74359363
https://codereview.chromium.org/536743002/

Change the QUIC CongestionMap to be based on a vector.

Saves ~0.75% CPU when profiling.

Merge internal change: 74321352
https://codereview.chromium.org/528083004/

Some improvements to quic_client_bin.
  - user can supply specific version
  - added a number of comments
  - added a number of descriptive ERROR logs on failure
  - removed unneeded flow control options (SetDefaults covers this)

Merge internal change: 74309904
https://codereview.chromium.org/532073002/

R=rch@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#293208}
26 files changed