Refactor sending and receiving packets
Fix bug: adjust sequence number *after* sending, not before
Add more comments, remove debug statements
Fix bug with adding payload to packets
Go to TIME-WAIT instead of CLOSED when done
Adjust some whitespace
Adjust test so that it makes sense.
Add unit test for recv()