add structure AlgorithmWorkerData
This is a minor internal restructuring: The goal of this structure is to provide an easy way to pass around
all the information an algorithm needs about the context it is running
in. This allows AnaAlgorithmConfig
to provide an initialized
algorithm to the caller, but more importantly it should allow further
restructuring in the future (in separate merge requests).