(QENG-608) Check_for_package method should not use which command

- properly differentiate between packages and commands
- check_for_package updated to check for the given package name using
  the correct package manager per OS
- added check_for_command, which uses 'which' to determine if a command
  is currently available
- added spec test coverage for check_for_package
GH-312 -  Value needs to be nil if it has no value
GH-312 Fix spec to reflect that value is nil
Merge pull request #229 from anodelman/pkg-vs-cmd

(QENG-608) Check_for_package method should not use which command
GH-312 - Change test to check command line
Merge pull request #313 from petems/fix_noop_to_nil

Fix noop to nil
(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

Use `on` instead of `host.exec`.
Also removes test for Unix::Host.puppet_tmpdir.

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