Improves tab completion in chat.

Pressing tab after completion now cycles to the next candidate.

Moves the completion code in LobbyLogic and InGameChatLogic to a common class.
Don't forget to add our standard file header!