Added tab completion to in-game chat.

 - Both player names and chat commands can be completed.
 - Names of local players and bots are not candidates for completion.
 - If a completed name is the first word ": " is appended to the end.
 - The hotkey for toggling team/all chat has been moved to left Alt.
Only way this can change ingame is if a player leaves/disconnects and if he handles that correctly, even if it did change he could still call add and remove on the List since readonly doesnt prevent you from calling methods that change the variables inside the object.

Only prevents you from reassigning it with the '=' operator.