This is some random fixes to the build actions and fixed a regression I introduced in a previous PR (didn't realise functools.cache wasn't introduced until Python 3.9). Changes include:
Drop Python 3.6 setup and add Python 3.11 setup
Replace functools.cache with the functionally equivalent older format functools.lru_cache(maxsize=None) to be compatible with Python 3.7 upwards
Added Scipy to CI install but kept it as an optional dependency (I'm assuming it is intended to be an optional dependency)
This is some random fixes to the build actions and fixed a regression I introduced in a previous PR (didn't realise functools.cache wasn't introduced until Python 3.9). Changes include: