* New CL arge `--killswitches-file`. This needs to reference a file either
with an absolute path, or relative to the CWD of the process.
* Internally if the argument is provided it is prefixed with `"file:"` in
order to actually be loaded. This is because `requests` doesn't have an
adapter for `file:` URLs.
* Also fixes a visual bug with reporting of active killswitches. The entire
SingleKill object was used instead of just its `reason` property. mypy
type checks caught this.
These fields will be used for various things moving forward. The
currently intended use is to redact fields when sending data to
inara/edsm/eddn in case Frontier accidentally includes something that is
unwanted
Killswitch exists to allow us to disable features causing issues in
specific versions remotely.
The system is designed to support plugins, where they can request their
own killswitch list by querying any web file that follows our format
(docs to be added), and using the returned KillSwitchSet to check for
disabled features.