guard for multiple definitions of PyObject
Previously, including Python.h and thus bringing the definition of PyObject but
not compiling catalyst with Python would create a typedef redefinition error
since we used to define an alternative typedef for PyObject.
The new implementation looks for the public symbol PyObject_HEAD which
signifies that we already included Python.h
Edited by Christos Tsolakis