Implement /flag, /unflag, /flaglist (from Aardvark).

This requires a ‘misuse’ of the admin command table. Command entries with
NULL command names are command flag entries, documenting which commands use
which flags via G_admin_permission() (such use is listed in green).

Also, it has to handle the difference between NULL and "" (flag names): NULL
means no flag, but "" is the flag name for internal-use commands (and is
thus unavailable).
Tidy a little cvar-setting mostly-duplicate code; fix parameter count handling.