Collection integration test output

Previously, integration tests (i.e. the tests that were run using
Open3.popen3) did not have their output governed by the :show_output
flag the way the other tests did.  In addition, turning the
:show_output flag on for a test could potentially cause the test to
fail if it needed to examine the output for some value.  This was
because collection and console output were mutually exclusive.

This change fixes both issues.  First, output is now tee'd into the
stdout and stderr StringIO streams and optionally the STDOUT and
STDERR streams as well depending on the :show_output flag.  An
integration_helper was also introduced that encapsulated the behaviors
for starting, running, capturing the output of, and returning the exit
status of integration tests.
Merge branch 'popen-output'