Initial file upload. For now, the code doesn't do much: you can start the program in two modes (client and server), client will connect to server, and the two will do a protocol version negotiation.