[patch] separate clients logic from low-level stuff
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).