* Handling of connection finalization by sending and receiving FIN packets
* Add handling of reset packet
* Add handling of out of order packets
* Refactor tests and move socket to separate file * Move sockets handling to separate class * Abstract over underlying transport * Fix bug with receiving duplicated SYN packet * Fix race condition in connect