(maint) Adding File.expand_path to the Tar::Gnu specs.

Prior to this commit, the specs made assertions about absolute file
paths, which works perfectly until you try running the tests under
Windows. This change patches the tests so that they will continue to
run properly under both Windows and Linux.
Merge pull request #2578 from pvande/maint/master/gnu_tar_spec_fails_on_windows

(maint) Adding File.expand_path to the Tar::Gnu specs.
(Maint) Don't expand tar cf - sourcedir path

The Gnu tar implementation executes `tar cf - #{sourcedir}`, which can be a
relative path. So it is not necessary to expand it, and doing so causes the
test to fail on windows.
(PUP-2073) fix for multiple diff_args

Previously, if you specified multiple arguments in the `diff_args`
setting, they would be considered a single argument and quoted to the
diff command. Puppet would then try to execute:

    diff '-u --strip-trailing-cr' pathA pathB

But would silently fail without showing any diffs.

This commit ensures we can handle multiple diff args.
Merge branch 'pr/2477'

* pr/2477:
  (PUP-2073) fix for multiple diff_args

Closes GH-2477
Merge branch 'master' of https://github.com/puppetlabs/puppet