A more testable linux version detector
Good day everyone, hope this PR finds you well.
When adding support for additional Linux Mint versions, I found the test suite in the project a bit cumbersome to use. While the docker tests are not only incredibly useful, I would say they are the ultimate source of correctness, they do not cover all the cases, notably, Linux Mint have no official images, and they are slow to execute.
For these reasons, I thought the project could benefit from an easier to test solution, especially seeing how some of the existing test cases are currently failing (ubuntu, arch), also, some of the OS versions currently detected by the code are incorrect (eg: recent versions of deepin, zorin, elementary are based on newer base images, AFAIK). I've made no attempts at fixing these cases, the aim for the new code was to give identical output to the old one.
I hope this change will make it easier to add support for further distributions.
I also added 2 docker test cases for Amazon linux, one of them is failing with the same error as the arch linux one.
This code looks clean @unixmonkey, I think it would make your life easier :)