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/toolchain_unittest.py b/api/controller/toolchain_unittest.py
index 6e51625..a139c25 100644
--- a/api/controller/toolchain_unittest.py
+++ b/api/controller/toolchain_unittest.py
@@ -7,6 +7,8 @@
 
 from __future__ import print_function
 
+import sys
+
 from chromite.api import api_config
 from chromite.api import controller
 from chromite.api.controller import toolchain
@@ -20,6 +22,10 @@
 from chromite.lib import cros_test_lib
 from chromite.lib import toolchain_util
 
+
+assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
+
+
 # pylint: disable=protected-access
 
 class UpdateEbuildWithAFDOArtifactsTest(cros_test_lib.MockTestCase,