Fix so that parameter generating functions work with @parallel.

The following code in the ruffus tutorial was failing:
```
from ruffus import *
def generate_parameters_on_the_fly():
    """
    returns one list of parameters per job
    """
    parameters = [
                        ['A', 1, 2], # 1st job
                        ['B', 3, 4], # 2nd job
                        ['C', 5, 6], # 3rd job
                    ]
    for job_parameters in parameters:
        yield job_parameters

@parallel(generate_parameters_on_the_fly)
def parallel_task(name, param1, param2):
    sys.stderr.write("    Parallel task %s: " % name)
    sys.stderr.write("%d + %d = %d\n" % (param1, param2, param1 + param2))

pipeline_run([parallel_task])
```

This commit makes the above code run.