PlanFragmentEncoding: add explicit variable for overriding the workers

With DoWhile, we might instantiate the same Fragment more than once.
Thus, with the existing format of the PlanFragmentEncoding, we could not
distinguish between the set of workers used for a prior run through the
loop and a manual override of the workers.

As the set of workers storing a relation can change between loop
iterations (e.g., a relation is initialized to a singleton but then is
joined with another relation and occupies all workers), when the set of
workers is not forced we need to update it every iteration.
fix JSON unit tests with new format