Added Py_XXRecursive checks around PyObject_hash
Check the error rather than the presence of the __hash__ attribute to determine if a RuntimeError has occured
Merge pull request #21 from pbrady/recursive_fix

Fix stackoverflow error