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
Make it upstream, those are friendly ppl, your pull request will be merged, no doubt.