tests: add python 3.12 and drop 3.7, 3.8 Python 3.7 is now EOL. Python 3.8 support breaks with the recent switch to use importlib for migration discovery. Given that Python 3.8 will be EOL in a few months too I'm not inclined to put in the effort to make the new code compatible – users can continue to use an old release if py38 support is required.