BIG CHANGE: New config, add telemetry, much more testing, standardized logging, replace bundled modules, and a host of smaller changes
This change is the result of work that has happened on the amertner branch over the past month:
- A new configuration system that uses the same config.ini file but handles it much more intelligently on the inside, making it possible to move the config to a database at some point;
- A new system to gathering, showing and sharing anonymized high-level usage data that will be used to prioritize development of LL;
- Replaces the self-rolled logging system with Python standard logging;
- Reduces dependency on bundled modules that can go out of date easily; attempts to install system versions and use those instead, then delete the bundled ones
- A lot more unit tested functionality from Python 3.7 to 3.11. (Earlier versions not supported)
- Many warnings, bugs and inefficiencies tidied up and code reorganized
Hopefully nothing major will break as a result of this; it's been pretty extensively tested on Windows, OSX and Linux.