(PUP-2561) Revert to using UNIX pipes in PMT’s tar operations.

Prior to this change, we’d attempted to handle shell escaping of
arguments by passing arrays of arguments rather than a single full
command string.  While this worked as intended, it meant that we needed
to stream data between processes through Ruby.  As it happens, larger
tarballs would cause the write pipeline to become backed up, and since
we would attempt to write all the data before reading any, we would
effectively deadlock.

Rather than attempting to stream by chunks, we’ve reverted back to using
the full string commands, and managing shell escapes (where needed) in
Ruby.
(PUP-2561) Remove the now obsolete ‘mode’ argument to ::execpipe.

Earlier, we’d added a ‘mode’ parameter to the P::U::Execution.execpipe
to support writing to the subprocess’ STDIN.  This commit removes that
functionality since we do not depend on it, we’ve never published it in
a supported release, and we do not wish to provide ongoing support for
it.
Merge pull request #2645 from pvande/bug/stable/pup2561_pmt_deadlocks_on_large_tarballs

(PUP-2561) Revert to using UNIX pipes in PMT’s tar operations.