Raise pylint score from 6.87 to 9.10
Remove useless iterations
Fix some pylint warnings for Python 2.x
Fix broken test for Python 2.x

Fun fact: for Python 3.x you don't need to explicitly implement __ne__
method if __eq__ exists, but you have do this for 2.x or your objects
may be equal and non-equal at the same time. Seems like, before
refactoring, operator.eq had used right logic.
Use reversed(range) is recommended over range with negative step

https://mail.python.org/pipermail/python-ideas/2013-October/023733.html
Raise TypeError instead of AssertionError
Use new string formatting syntax

Python 2.5 support was dropped long ago to care about
Keep things simple
Fix equality tests for Python 3.x

Since map() returns generator in 3.x, it's not possible to compare them
without unwrap.
Merge pull request #19 from kxepal/pylint

Improve code quality