Summary:
`IOBufQueue` has some facilities for fast appending to the tail. This is not useful for us in the retransmission buffer usecase, and probably not at all. Flushing the tail cache from the `IOBufQueue` is expensive when we have to shuffle around the retransmission buffer queue on removal.
This diff replaces `IOBufQueue` with a bespoke version that only has some of the functionality.
This also changes the dependent peek APIs to use `IOBuf`s directly.
Reviewed By: siyengar, yangchi
Differential Revision: D18126437
fbshipit-source-id: a2fec0f45a72459855700c605bfd0d863a9067b7