Python3 backwards compatability rebase

Added python3 support, and gracefully falls back to python2 libs when required.

This will make ghar available for users who are in python3 environments, and retains python2 compatibility.