Set tmpRoot on tree if tmpRoot provided to builder

I know this needs tests, but I wanted to start the discussion. This is for #202.
Could you also add a test or two asserting that if `options.tmpRoot` was not specified `"tmp"` is used and passed to plugins that opt-in?