Ensure temporary directories ownership is correct.

`master['user']` ends up making a call to `puppet agent --configprint user` on
the SUT which is pretty counterintuitive, but that's how Beaker::Host works.
Better is to use `on master, 'puppet master --configprint user'` since this will
always give us the actual puppet user.

Also, it's best to use the `create_tmpdir_for_user` method when initially
creating temporary directories on SUTs since `host.tmpdir` will always create
directories owned by root.

Signed-off-by: Wayne <wayne@puppetlabs.com>