add functionality that allows us to modify individual job arguments in a cascade

required for #175 
Fair enough. I should probably use more descriptive names.

`unsafe` is a function which modifies scalding arguments. If it modifies the Hadoop configuration part, it must mutate it, which is obviously bad, as by default configuration is shared between all jobs in the cascade, but we only want to modify the configuration for an individual job.

`mutate` is a flag that tells us whether `unsafe` actually does do any mutation or not.

So when we go to modify the scalding arguments, if `mutate` is true, we go and take a new version of the arguments where any mutable components are cloned and thus can be mutated without affecting other jobs.