Allow having multiple tmp_dir values
Defining a separate tmp_dir directory per project (or that depends on
other options) is currently not working: the value of tmp_dir is
evaluated on the first use of a temporary directory, cached and not
evaluated again on following uses.