Move Python version checking to a separate module

Add a new module with methods for checking the Python version.

Instead of handling Python3 imports with try...except blocks, first
check the python version and then import the relevant modules.  This
makes the code a bit cleaner and will result in less diff when/if we
remove support for Python < 3 later.

Use the same mechanism to handle `input` vs. `raw_input` and add
suppression of pylint warnings caused by redefinition of the built-in
method `input`.

Change-Id: Ia403e525b88d77640a741ac50382146e7d635924
Also-by: Chirayu Desai <cdesai@cyanogenmod.org>
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
diff --git a/subcmds/upload.py b/subcmds/upload.py
index a34938e..13b8778 100644
--- a/subcmds/upload.py
+++ b/subcmds/upload.py
@@ -23,10 +23,11 @@
 from error import HookError, UploadError
 from project import RepoHook
 
-try:
+from pyversion import is_python3
+if not is_python3():
+  # pylint:disable=W0622
   input = raw_input
-except NameError:
-  pass
+  # pylint:enable=W0622
 
 UNUSUAL_COMMIT_THRESHOLD = 5