* Abstract config design and update logging pattern
Also drops legacy config support
* Fix unit tests
* Make backup of config file when upgrading
* Use shared process semaphore to fix migration race conditions
* Use mutex because semaphore isn't supported
* Make startup wait for configs to load
* Move mutex to config load instead of constructor
* Add debug logging
* Make mutex static
* Change mutex name format
* Make mutex use global namespace
* Remove debug logging and fix config upgrading
* Rename lambda variable
* Make tests run in release mode
* Fix multiple command in ci
* I forgot how yaml works
* Shitty workaround
* grr mondays
* Add an NP ticket builder for unit tests
* Add NP ticket unit testing
* Fix range indexers for finding uid
* Fix LoginTests
* Validate unit test signatures
* Make builder code follow same style conventions
* Remove remnant of hardcoded issuer id
- Sorts config better
- Stored in a robust format
- Migrates from old JSON format automatically on startup
- Retains version migration feature
- Renames ServerSettings to ServerConfiguration