Python 3 fixes, other fixes

Coded the hell out of it.

- added .gitignore exceptions
- updated packages versions (+some dependencies rewritten)
- changed Travis build to test on Python 3.4 (+ PySide)
- updated code to meet PEP requirements and Python 3 support
- small tests updates

Relied mostly on existing test suite and Travis builds
Well, it is a dependency without python 3 support, so I wrote it for this package too)