Lots of Python 3 fixes this commit...
setup.py:  Fixed an issue where installation would fail on systems where the 'python' executable is python3.  This should fix the issue reported in #198 (https://github.com/liftoff/GateOne/issues/198) where Gate One wouldn't install properly on Arch Linux.
utils.py:  Changed the use of open() everwhere with io.open() in order to be more robust/less ambiguous when running under Python 3 (using the encoding argument where necessary).  This prevents confusion over whether or not reading or writing to a file will occur via bytes or unicode.
utils.py:  Fixed a bug in get_translation() where it was still looking at the old server.conf for the locale.
gateone.py:  To make sure I don't run into any ambiguity issues with bytes and strings in Python 3 again I have changed most calls of open() to be io.open() instead.  That way I can explicity set the encoding without having to worry about whether Gate One is running under Python 2 or Python 3 (Python 2's open() function doesn't support the 'encoding' keyword argument but io.open() is the same in both versions).
gateone.py:  GOApplication is now using OnOffMixin.
gateone.py:  Added shortcuts for render_and_send(), send_css(), and send_js() to GOApplication.
SSH Plugin:  Changed the use of `self.ws.on()` to just `self.on()` now that GOApplication is using OnOffMixin.
SSH Plugin:  Corrected an exception that could occur if the sshConnectString was not set and the user tried to duplicate a terminal (very obscure situation).