(MAINT) Bugfixes in host.exec and logger.

* Honor the :silent option in host.exec
* Many logging functions seem to try to pass positional parameters in to
  optionally_color but mistakenly flattened the list into a single argument.
  This made it impossible to choose whether or not to add a newline.
* Remove call to logger.notify with bogus arity. Seems like "args" probably
  becomes an empty array which made this method call okay previously. However,
  if there are no arguments in "*args" then no args get passed down to
  optionally_color, thus the arity of the original "*args" is preserved.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(MAINT) Make retry_command output easier on the eyes.

Silent all the "on" commands by passing silent => true to the underlying
host.exec in the options map. Instead, handle console/logfile output for
retry_command manually. Should significantly reduce logfile size for
applications that make extensive use of retry_command, not to mention making
stdout more readable.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Merge pull request #300 from waynr/feature/logging-improvements

Feature/logging improvements
(QENG-713) add 'puppet_tmpdir' method

Add a 'puppet_tmpdir' method in Unix::File that creates temporary
directories which are owned by the puppet user.
(QENG-713) add test case and docs for 'puppet_tmpdir' method
(QENG-713) use DSL to access --configprint value
(QENG-713) Adds create_tmpdir_on DSL method.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(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>