tests: run task tests on all available engines
Engine: make engine selection more robust

Make the hint provided by the Task a real hint. Engine/Factory.py will
now failback to a working engine if the one provided by the Task is not
working on the current platform.

tests: automatically skip tests that use unsupported engines
tests: TaskDistantPdshMixin uses dynamic temporary paths too.