Cleanup and update of `gamemode` commands

Updated gamemode console and in-game commands to behave in a more uniform manner, centralized into gm.lua to facilitate reuse of common code, updated Info.lua and README.md with additional information.
`NoCaseCompare()` is a drop-in replacement for `strcmp()`, it returns an int indicating whether the string1 comes before or after string2 in a case-insensitive sort, or they are the same.

I think it doesn't matter which one you use in Lua scripts. However, it would be smart to cache `local lcPlayerName = string.lower(PlayerName)` in the outside function, not to lowercase the same string over and over.