Fixed numeric TypedData __eq__ and __ne__ bindings.

The nice sensible implementation inherited from the Object base class was being masked by the __cmp__ definition, which unhelpfully throws when the second argument is not of the same type as the first. The fix defines __gt__, __ge__, __lt__ and __le__ individually, leaving the original equality operators as-is. I'm not really sure of the use cases for these operators anyway, and tend to think that `x.value <= y.value` would do the job just as well if not better, but I haven't removed them because there's no way of knowing what Python code uses them in the wild.

In Python 3 __cmp__ is totally removed anyway, and defining the operators individually is the only supported form.