coalesce outgoing packets
coalesce outgoing packets

Instead of writing one QUIC packet at a time, `send()` will now try to
coalesce multiple packets onto the same UDP datagram.

In order to support that, padding of Initial packets needs to be moved
outside the QUIC packet itself, so instead of using PADDING frames, we
simply leave some free space at the end of the datagram.

One notable change, is that Initial packets from the server are now also
padded as needed to reach the minimum 1200 length. This is to ensure
that the network path actually supports the minimum size in both
directions.

Though in practice this doesn't change much, since in most cases the
packet is pretty full already so the padding done from the server is
minimal.

cloudflare/quiche,cloudflare/quiche,cloudflare/quiche