Fix for comparison tests:
- equality test should not throw TypeError
- improved exception messages for __lt__ and __le__
- add custom __gt__ and __ge__; default comparison is incorrect
- added doctests