Fix bug with hostname lookup for Garena players when checking bans.

Previously the socket IP address would be used to perform the hostname lookup. For Garena players, this socket is with the local gcb connection, meaning that the hostname lookup is attempted for the local IP address instead of the player's external IP.

This commit implements a hostname lookup functionality in CGHost on an arbitrary string IP address. The last 512 lookups are cached as hostname lookups maybe expensive. The GetHostName function in CSocket is no longer used and may be removed in a future commit.

Conflicts:
	gameplayer.cpp
	ghost.h