Add: support for admin to change company allow lists
Motivation / Problem
#12337 only allows clients to add other clients to a company's allow list. However, it does not bring any tools for the server admin to remedy any issues created by bad actors.
Description
Amend command for adding authorized keys to companies to also support removing authorized keys. Also do some more stringent checks on the received requests.
"Add" option to the "authorized_key" console command to list/add/remove authorized keys for companies as well. This effectively meant rewriting the whole function to make it easier to also let this work for companies.
Limitations
No UI for the less tech-savvy server owners. No support for clients to remove other clients from companies due to griefing issues. This builds upon #12337 which hasn't been accepted yet.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.
- The bug fix is important enough to be backported? (label: 'backport requested')
- This PR touches english.txt or translations? Check the guidelines
- This PR affects the save game format? (label 'savegame upgrade')
- This PR affects the GS/AI API? (label 'needs review: Script API')
- ai_changelog.hpp, game_changelog.hpp need updating.
- The compatibility wrappers (compat_*.nut) need updating.
- This PR affects the NewGRF API? (label 'needs review: NewGRF')
- newgrf_debug_data.h may need updating.
- PR must be added to API tracker