Do NOT duplicate arguments in a future.

Duplicating a task argument in a future causes it's lock to become
useless.  Since we (currently) only pass tasks to futures as
arguments, and we only invoke it within the future, and invoking
itself is thread-safe, there is no need to automatically duplicate
arguments to the future.