Rename `buffer` to `incoming_buffer`.
Insert and remove packets into send queue as appropriate.
Split buffer over appropriate number of packets.

The buffer passed to `send_to` might exceed the maximum packet size, which will
result in the data being split over several packets. `send_to` will block until
the acknowledgment for the last packet is received.
Hide ACK handling and resending inside `send_to`.
Update documentation.
Add test for response to fast resend requests.
Update README.