Remove unused macro.
Fix assertion about extension list element header.
Simplify `UtpExtension.to_bytes` implementation.
Make `UtpPacket.set_sack` also set header extension.
Process Selective Acknowledgment packets.
Add test for response to Selective ACK.
Fix extension output in a packet.
Fix packet length and assertions.
Abstract away the iteration over bits.
Avoid cloning packets whenever possible.
Fix packet's sequence number in test.
Fix returned read size in `UtpSocket.recv_from`.
Fix `UtpPacket.wnd_size` not cloning the packet properly.
Pull common import statements to parent level.
Reply with SACK in case packets get disordered.
Add test for correct reception under simulated packet loss.
Update README and TODO.
Merge branch 'send_sack'
Add a primitive mechanism for pacing sends.
Resend earliest lost packet on SACK reception.

According to the specificiation, if three or more packets are acknowledged past
the implicit missing packet, we are to assume assume it was lost.