Be specific about our expectation

Previously, the spec test would sometimes fail because the File.unlink
expectation did not specify a path argument. As a result, if the code
under test unlinked an unrelated file, e.g. tempfile used to write file
content, then the would fail.
(Maint) Use absolute path for puppet in Gemfile

This allows the use of binstubs to execute puppet from another working
directory.
Merge branch '2.7.x' into 3.1.x

* 2.7.x:
  (Maint) Use absolute path for puppet in Gemfile
Merge branch '3.1.x'

* 3.1.x:
  (Maint) Use absolute path for puppet in Gemfile