Add support for Python 3
Clean up usage and make PEP8 happy
Use setuptools instead of distutils