Update hacking for Python3

The repo is Python 3 now, so update hacking to version 3.0.1 which
supports Python 3.

Fix problems found.

Update local hacking checks for new flake8.

Switch to dnspython in requirements.
See also https://review.opendev.org/726353.

Co-Authored-By: Sean McGinnis <sean.mcginnis@gmail.com>
Depends-On: https://review.opendev.org/715682
Change-Id: I49a0ba49133f9592089d3829405847bf2ff8b425
diff --git a/requirements.txt b/requirements.txt
index 8d0dc5f..3a1f2f3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-dnspython3!=1.13.0,!=1.14.0,>=1.12.0 # http://www.dnspython.org/LICENSE
+dnspython>=1.16.0  # http://www.dnspython.org/LICENSE
 ddt>=1.0.1 # MIT
 testtools>=2.2.0 # MIT
 tempest>=17.1.0 # Apache-2.0