(PUP-2278) Accept paths with spaces in PMT tarball interactions.

Prior to this commit, if the module_working_dir or the path to a module
being built contained whitespace, our simple string-interpolation
would fail to create a valid call to `tar` or `gzip`.  This change fixes
the bugs resulting from that behavior.
(PUP-2278) Parameterize the mode of Puppet::Util::Execution.execpipe.

In the previous commit, the default behavior of `execpipe` was changed
to ensure that the pipe was always opened in read/write mode.  While we
aren't aware of any regressions this change would cause, the cautious
route is to maintain the same default behavior for now; to that end,
this commit adds a `mode` parameter to `execpipe`, allowing callers to
choose the mode the pipe is opened in.
Merge pull request #2555 from pvande/bug/master/pup2278_fix_pmt_handling_of_paths_with_spaces

Accept paths with spaces in PMT tarball interactions.