Clean up the TCP state machine, It works, but probably can be
detected by sending odd packets

Add the ability to receive files to the server

Actually make use of the TCP sequencing to gain the ability to
reorder packets
