(PUP-2807) Add output of containing scope for log functions

The log functions in 3x outputs th name of the containing scope
(for notice etc.). The reimplemented methods for the 4x function API
did not include this behavior.

Now, the calling scope is passed to the Logging utility to be output
the same way as for 3x.
(doc) update acceptance_tests.md

Adding updated information and more help around getting setup properly to run
beaker locally.
Merge pull request #2865 from ferventcoder/maint/master/docs-acceptance

(doc) update acceptance_tests.md
(PUP-2883) Allow empty body in epp templates

This allows an epp body to be empty by making grammar accept an
empty list of statements. This avoids getting a cryptic error message
about "syntax error at end of file" when using parameters, but having no
body that produces output, or when having a completely empty template.
(PUP-2873) Reasonable default logdests for master

Commit a1dba44 removed a potentially duplicate log destination when
using `puppet master --compile`, but it also meant that `puppet master
--compile` would default to logging to syslog. This issue revealed other
issues, where running `puppet master --no-daemonize` would log to
syslog, but `puppet master --no-daemonize --verbose` would log to the
console. Inconsistencies like these could lead to very surprising
behavior for users.

This commit refactors the master logging to default to console when the
master is running in the foreground and to syslog when running in the
background. When a log destination is given with '--logdest' the default
log destination is ignored in preference of the explicit log
destination.
Merge pull request #2856 from adrienthebo/fix/master/pup-2873-better-master-logging

(GH-2873) Reasonable default logdests for master
Merge pull request #2792 from hlindberg/PUP-2807_log-containing-scope-name

(PUP-2807) Add output of containing scope for log functions
Merge pull request #2868 from hlindberg/PUP-2883_empty-epp-template

(PUP-2883) Allow empty body in epp templates
(PUP-1186) Ignore PAX header in tar unpacking

Prior to this commit if you installed a puppet module built on a platform with
a tar implementation that adds PAX headers and your platform didn't have a native
tar implementation (Windows), the module would contain junk PaxHeader directories.

This is due to the default POSIX behavior programmed in to minitar (the ruby tar
implementation used for platforms with out native tar) for an unknown typeflag,
such as those used in PAX headers, is to treat it as a regular file and extract it.

This commit adds a pre-scan step to our use of minitar for unpacking that finds
all the files with standard typeflags (0-7) and then only unpacks those, thus ignoring
any Pax typeflags like 'x' or 'g'.