(QENG-713) Update to create_tmpdir_for_user, add spectests

This commit as spec tests which include several additions to spec/mocks.rb to
support the use of `host.tmpdir` and `execute` when using FakeHost. In support
of these is the FakeCommand which works around the fact that these FakeHost
commands don't have access to the same objects as the context in which
FakeHost.exec is used.

Also removes test for Unix::Host.puppet_tmpdir

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