Land Recent QUIC changes.

Change the QuicConnection/QuicPacketGenerator to serialize hadnshake
messages immediately.  This ensure that they are send out with the
correct encryption level.

Merge internal change: 52576456

Lazily serialize retransmissions only when we're not write blocked and
the congestion manager indicates we'll be able to send, in order to
avoid sending packets out of sequence number order.

Merge internal change: 52544477

Pull out AckNotifier tracking into a QuicAckNotifierManager class. This
is now the single point of contact that the QuicConnection has for ACK
notification logic.

Merge internal change: 52525978

More efficient AckNotifier. Keep a map of <sequence number,
list<AckNotifier ptrs>> so we don't have to iterate over every
AckNotifier when receiving an ACK.

Merge internal change: 52524423

When an FEC packet is abandoned, attempt to write since the congestion
window may have opened up.

Merge internal change: 52520538

Refactor to remove MaybeStartFEC from the public QuicPacketCreator
interface and let the packet creator open the FEC group when a frame is
added.

Merge internal change: 52457809

Add guid to some DLOG messages.

Merge internal change: 52409285

Modified SendDelayedAckOnTimer test to use the newer and better Fire()
method on the ack alarm instead of calling SendAck() directly.

Merge internal change: 52392652

de-lint the comments (added missing periods).

Bundle acks with outgoing packets when possible to reduce ack delay. If
delayed ack timer is running and if we are about to transmit a packet
(data, rst, goaway), then bundle an ack as well.

Merge internal change: 52387431

R=rch@chromium.org

NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/24352002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225195 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 225195