fix usage of lru_cache on Python < 3.8
Only since Python 3.8 functools.lru_cache can be used directly as
a  decorator, before that only the result of functools.lru_cache()
is a decorator.
@@ -88,7 +88,7 @@ class ContainerizedTool(object):
# Add a cache. This method is called per run but would always return the
# same result. On some systems the calls are slow and this is worth it:
# https://github.com/python/cpython/issues/98493
- proxy_function = functools.lru_cache(proxy_function)
+ proxy_function = functools.lru_cache()(proxy_function)
setattr(cls, member_name, proxy_function)
