Allow running task twice with different param. (e.g. copy) 

Each task (where relevant) now appends a unique identifier to the task

This solves the issue of calling a task multiple times with different parameters (e.g. copying fonts then trying to copy images) not working properly.

Instead it would queue the task to run twice but both times it runs would be with the parameters of the final call (in this example it would copy the images twice).