[SDFAB-1197] First stab to update ONOS to py3

Update has been performed only on the scripts and the
executables strictly necessary for the following use cases:

- Build (including Intellij)
- Tests (including Intellij)
- Docker build (including dev and yourkit)
- Upload snapshot (including local)
- Release

Finally, fix the ability to run ONOS using onos-local targets,
stc and docker stc (aka up4 stc env). Last but not least, updated
the azul image to a newer one which exports also the PYTHONENCODING

Change-Id: Ie96f3a9c76dbba83b1fc3896a372f1045d3d7ccc
diff --git a/tools/build/bazel/dependencies_pom_generator.py b/tools/build/bazel/dependencies_pom_generator.py
index f2df0c2..8c6483f 100755
--- a/tools/build/bazel/dependencies_pom_generator.py
+++ b/tools/build/bazel/dependencies_pom_generator.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright 2019-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
 def resolve(mvn_coord):
     mvn_pieces = mvn_coord.split(":")
     if mvn_pieces[0] != "mvn":
-        raise ("Invalid Maven coordinate: %s" % mvn_coord)
+        raise ValueError("Invalid Maven coordinate: %s" % mvn_coord)
     return dict(
         groupId=mvn_pieces[1],
         artifactId=mvn_pieces[2],
@@ -79,7 +79,7 @@
                 dep_template.format(scope='test', **deps[x])
                 for x in test_deps])
         else:
-            for old, new in var_dict.items():
+            for old, new in list(var_dict.items()):
                 line = line.replace(old, new)
             new_lines.append(line)
 
@@ -111,7 +111,7 @@
     for var in args.vars:
         pieces = var.split('=')
         if len(pieces) != 2:
-            raise ("Invalid var '%s'" % var)
+            raise ValueError("Invalid var '%s'" % var)
         processed_vars["<!-- %s -->" % pieces[0]] = pieces[1]
 
     generate_pom(
diff --git a/tools/build/bazel/onos_app_bundler.py b/tools/build/bazel/onos_app_bundler.py
index 6c4ca68..5aa77a0 100755
--- a/tools/build/bazel/onos_app_bundler.py
+++ b/tools/build/bazel/onos_app_bundler.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 """
  Copyright 2018-present Open Networking Foundation
 
@@ -60,5 +60,5 @@
         print('There must be an even number of args: file mvn_coords')
         sys.exit(2)
 
-    files = zip(*[iter(args)]*2)
+    files = list(zip(*[iter(args)]*2))
     generateOar(output, files)
diff --git a/tools/build/bazel/onos_app_tools.py b/tools/build/bazel/onos_app_tools.py
index 9979ab5..43cab17 100755
--- a/tools/build/bazel/onos_app_tools.py
+++ b/tools/build/bazel/onos_app_tools.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 """
  Copyright 2018-present Open Networking Foundation
 
@@ -207,7 +207,7 @@
         values['category'] = options.category
         values['url'] = options.url
     elif options.write_app:
-        sys.stderr.write('ERROR: Feature Name, Version, and Title are required\n')
+        sys.stderr.write('ERROR: App Name, Origin, Category and URL are required\n')
         sys.stderr.flush()
         sys.exit(1)
 
diff --git a/tools/build/bazel/osgi_feature_bundler.py b/tools/build/bazel/osgi_feature_bundler.py
index a4550e0..f390c88 100755
--- a/tools/build/bazel/osgi_feature_bundler.py
+++ b/tools/build/bazel/osgi_feature_bundler.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 """
  Copyright 2018-present Open Networking Foundation
 
@@ -56,5 +56,5 @@
         print('There must be an even number of args: file mvn_coords')
         sys.exit(2)
 
-    files = zip(*[iter(args)]*2)
+    files = list(zip(*[iter(args)]*2))
     writeFeatureBundle(output, files)
diff --git a/tools/build/bazel/pom_generator.py b/tools/build/bazel/pom_generator.py
index 2e16f49..1ad54ec 100755
--- a/tools/build/bazel/pom_generator.py
+++ b/tools/build/bazel/pom_generator.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 """
  Copyright 2018-present Open Networking Foundation
 
@@ -49,7 +49,7 @@
         with open(name, "w") as file:
             file.write(msg)
     else:
-        print msg
+        print(msg)
 
 
 def write_pom(output, coords, deps):
@@ -70,7 +70,7 @@
     import sys
 
     if len(sys.argv) < 3:
-        print 'usage: pom_generator pom.xml maven_coords dep_coords1 dep_coords2 ...'
+        print('usage: pom_generator pom.xml maven_coords dep_coords1 dep_coords2 ...')
         sys.exit(1)
 
     output = sys.argv[1]