Suppress stderr on itests that expect failure.

Some of my integration tests test failure conditions: providing
invalid arguments, bad auth credentials, etc.  Currently, these itests
produce a bunch of output that dirties up the test output.  This
bugged me.

This commit fixes this problem by writing a wrapper around subprocess.
Popen().  This wrapper buffers the test output, and only prints
data when it when requested.  This reduces the verbosity of test runs,
which is a nice little benefit.