Add pktline side-band-64 writer
This is part of gitlab-com/gl-infra&372 (closed) and gitlab-com/gl-infra/scalability#918 (closed). In a later MR, we will use this code to cache PackObjectsHook responses.
PackObjectsHook generates two streams of data: stdout and stderr. To be able to replay them in the correct order it is practical to multiplex them into a single byte stream. Git has a format it uses for this, called "side-band-64k". So instead of inventing a new multiplexing scheme, I thought it would be simpler to just use the same scheme that Git itself uses.
While working on this, I noticed in https://gitlab.com/gitlab-org/git/-/blob/v2.30.0/Documentation/technical/protocol-common.txt#L51 that our internal/pktline
package does not use the correct maximum packet size when writing packets. For reasons I do not know, the maximum is not 0xffff (65535), but 0xfff0 (65520). So this MR is also changing the maximum packet size constant.