Python 2 and 3 compatibility

These commits ensure compatibility in Python 2 and Python 3 using [six](http://pythonhosted.org/six/). These contains the file `six.py` that is part of six project.

Also, there's a change in `setup.py` in order to define packages in a better way. This use the `find_packages` function from `setuptools`.