Update IsGame() and valid game client testing to be more accurate and incorporate as much info as possible in the decisions. Isolate as much testing as possible in CGameClient::CanOpen().