Made working directory optional.

A temporary working directory will be created if one is required and it
was not specified during construction.
Add a Builder for ParallelizableJobRunner