Some websites (or more precisely, TLS terminators/balancers) can't
handle segmented TLS ClientHello packet properly, requiring the whole
ClientHello in a single segment, otherwise the connection gets dropped.
However they still operate with a proper TCP stack.
Cheat on them: send the latter segment first (with TCP SEQ "in the future"),
the former segment second (with "current" SEQ), allowing OS TCP
stack to combine it in a single TCP read().
This fixes long-standing number of TCP fragmentation issues:
Fixes#4, #158, #224, #59, #192 and many others.
This patch adds `--native-frag` option for userspace TCP
segmentation (packet splitting), without shrinking
TCP Window Size in SYN/ACK.
Compared to Window Size shrinking, this method does not require
waiting for ACK, which saves two RTTs.
This is preferrable method of operation since it has no cons.
It's faster and easier to handle in the software.