Implement Nak with stupid heuristic

right now, always ack the first packet in the window for each peer.

doesnt break anything when there is no loss, but our program fails when there is still loss.

I think there may be errors in the buffer, as isFull() often returns true when I can see an open slot when the buffer is printed