Python 3 Compatibility. 

Enabling Python 3 compatibility. This should ensure that the single codebase can support both Python 2.7 and Python 3.

This also seems to have cleared up the problems on the issues coding. Maybe.

Things still to do:

- [ ] requirements.txt for Python 2 and 3
- [x] Testing in pipeline
- [ ] More extensive Python 3 testing