Returns a hash code value for the object.
The hashcode is produced from the following properties:
satisfied
path
message
Those criteria were chosen specifically to ensure, in a set, only a single occurrence of a message can be used for each path.