make Job and ZuulRole hashable

Python3 removes the default __hash__ method on object if a cusotm __eq__
is defined. This is to encourage authors to make things that are equal
more likely to have the same hash.

For now we keep python2 behavior (which is to use id(self). Howeve we
should probably make it a real hash of the object that matches __eq__'s
comparisons.

Change-Id: I01c9569bd2d196bb4ffa38276695fefe3c72c957
diff --git a/zuul/model.py b/zuul/model.py
index 8002f16..8284b03 100644
--- a/zuul/model.py
+++ b/zuul/model.py
@@ -681,6 +681,8 @@
     def __repr__(self):
         return '<ZuulRole %s %s>' % (self.project_name, self.target_name)
 
+    __hash__ = object.__hash__
+
     def __eq__(self, other):
         if not isinstance(other, ZuulRole):
             return False
@@ -808,6 +810,8 @@
                 return False
         return True
 
+    __hash__ = object.__hash__
+
     def __str__(self):
         return self.name