api: migrate to python3 only [reland]

Convert all the API modules to require Python 3.6.  These only get
imported by two programs, and we've migrated those to Python 3.6.
We omit chromite.api.gen for now because that is widely imported
by other programs that still support Python 2.

We fixed the breakage in the service layer so we can reland this.

BUG=chromium:997354, chromium:1052524
TEST=`./run_tests` passes

Change-Id: Ia0bdfd8740bd82f3b16ed8955ac0c4e3e8128bf2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2058045
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/api/controller/test.py b/api/controller/test.py
index 43d5399..5a7ecdb 100644
--- a/api/controller/test.py
+++ b/api/controller/test.py
@@ -11,6 +11,7 @@
 from __future__ import print_function
 
 import os
+import sys
 
 from chromite.api import controller
 from chromite.api import faux
@@ -32,6 +33,9 @@
 from chromite.utils import metrics
 
 
+assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
+
+
 @faux.empty_success
 @faux.empty_completed_unsuccessfully_error
 def DebugInfoTest(input_proto, _output_proto, config):