Upgrade .NET 7 to .NET 8
Code refactor (As decribed by microsoft's conventions for current dotnet versions)
Builds for Linux, Windows and MacOS (untested).
All files ending in -selfcontained
do not require the .NET 8 runtime to be installed on the system.
Though they are massively greater in filesize than the runtime dependent ones.