Further py27 cleanup support

This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove obsolete sections from setup.cfg
- Update requirements, no need for python_version anymore
- Switch to using sphinx-build
- Use newer openstackdocstheme and Sphinx versions
- Switch to hacking 3.0, fix problems found

Change-Id: I499bb071847dd006d4045faf2325f588d07b4ffe
diff --git a/telemetry_tempest_plugin/exceptions.py b/telemetry_tempest_plugin/exceptions.py
index de22a41..cb9e6b3 100644
--- a/telemetry_tempest_plugin/exceptions.py
+++ b/telemetry_tempest_plugin/exceptions.py
@@ -38,8 +38,8 @@
             # of the exception message
             # Convert all arguments into their string representations...
             args = ["%s" % arg for arg in args]
-            self._error_string = (self._error_string +
-                                  "\nDetails: %s" % '\n'.join(args))
+            self._error_string = (self._error_string
+                                  + "\nDetails: %s" % '\n'.join(args))
 
     def __str__(self):
         return self._error_string
diff --git a/telemetry_tempest_plugin/scenario/utils.py b/telemetry_tempest_plugin/scenario/utils.py
index f3a4fa6..2b51160 100644
--- a/telemetry_tempest_plugin/scenario/utils.py
+++ b/telemetry_tempest_plugin/scenario/utils.py
@@ -44,8 +44,8 @@
         ).run(test_suite)
 
     if not result.wasSuccessful():
-        failures = (result.errors + result.failures +
-                    result.unexpectedSuccesses)
+        failures = (result.errors + result.failures
+                    + result.unexpectedSuccesses)
         if failures:
             test, bt = failures[0]
             name = test.test_data.get('name', test.id())