Adds Simultaneous Requesting + Bug Fixes

Modifies the LoopedRequester to make multiple simultaneous requests
parallely

Modifies IPFunctions to return a loopback address if non loopback
address is not found in getFirstNonLoopbackAddress(). This solves an
issue that was preventing the simulation from running on same machine
when not connected to a network. Although this spoils the semantics
of the function name.

Fixes a bug where the Server name label was not getting set in the
GUI.
Adds tracking of IP and port of other servers

The ServerLoad class now stores the IP and Port of the server it is
referring to. This is used by each proxy server to keep track of
the IP and Port of other proxy servers.

Adds listening for Load updates. If new informations is received,
loads are updated in the ServerLoad class.