This is code change to separate the client information and logic from the low-level stuff. The principal idea is that network.cc only has the low level communication stuff, whereas the new network_client.cc contains all the client related functions. The motivation was to enable to store more information about the clients (ip, name etc) that would not be possible before (and is not implemented yet, but implementation should be much easier).
In principle a good idea, although my intermediate work made this as little useless, I fear. (Would have my work easier ... )
Here is an updated patch (untested now after the conflicts...)
Should I update the patch? the intention was to be able to distinct between active clients (ie playing) and other clients that only connected to get server info.
In current implementation, those are deleted immeadiately afterwards. But a separation might be in useful and logic.
Incorporated in different form in 3900.