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/binhost.py b/api/controller/binhost.py
index 0721649..1e231f1 100644
--- a/api/controller/binhost.py
+++ b/api/controller/binhost.py
@@ -9,6 +9,7 @@
 
 import os
 import shutil
+import sys
 
 from six.moves import urllib
 
@@ -24,6 +25,10 @@
 from chromite.lib import sysroot_lib
 from chromite.service import binhost
 
+
+assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
+
+
 _OVERLAY_TYPE_TO_NAME = {
     binhost_pb2.OVERLAYTYPE_PUBLIC: constants.PUBLIC_OVERLAYS,
     binhost_pb2.OVERLAYTYPE_PRIVATE: constants.PRIVATE_OVERLAYS,