outcap: move OutputCapturer out of cros_build_lib

Create a dedicated module to hold this class & associated logic.
Not too many modules use this logic directly, but we want to add
a few more in core modules, so lets break it out.

BUG=chromium:868820
TEST=unittests pass

Change-Id: I3483c0bccce62c59ab47f173edae085f584ebe93
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1874456
Reviewed-by: Will Bradley <wbbradley@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/cli/command_vm_test.py b/cli/command_vm_test.py
index b917c2c..e1a6aee 100644
--- a/cli/command_vm_test.py
+++ b/cli/command_vm_test.py
@@ -17,6 +17,7 @@
 from chromite.lib import cros_logging as logging
 from chromite.lib import remote_access
 from chromite.lib import vm
+from chromite.utils import outcap
 
 
 class Error(Exception):
@@ -205,7 +206,7 @@
                                                          '--root=/usr/local'])
 
     logging.info('Test to uninstall packages on the VM device.')
-    with cros_build_lib.OutputCapturer() as output:
+    with outcap.OutputCapturer() as output:
       result = cros_build_lib.run(cmd + ['--unmerge'], error_code_ok=True)
 
     if result.returncode:
@@ -221,7 +222,7 @@
         raise CommandError()
 
     logging.info('Test to install packages on the VM device.')
-    with cros_build_lib.OutputCapturer() as output:
+    with outcap.OutputCapturer() as output:
       result = cros_build_lib.run(cmd, error_code_ok=True)
 
     if result.returncode: