Make code compatible with Python 2 and 3

Fix #10
Use pylint error names, not error codes

Pylint 0.25.3 and above allow one to reference errors using symbolic names
instead of error codes. Names are more human-friendly than error codes, so use
them. See:
http://docs.pylint.org/faq.html#do-i-have-to-remember-all-these-numbers