Override equality to not use builtin cmp

Otherwise, comparing two PersistentDicts with "==" will raise a TypeError when builtin "cmp" fails, but should actually return False. A new test is added