IMPORTANT PACKAGING CHANGE:  /opt/gateone is no more!  See the commit message for full detauls...
In order for Gate One to be more easily packaged across a wider variety of systems (Linux distros, embedded systems, appliances, etc) it was necessary to change how it was packaged.  Previously, all Gate One files were treated as 'data_files' inside of setup.py and installed in /opt by default (with the option to install somewhere else using the --prefix).  This prevented Gate One from working properly inside of a virutalenv container which is a very important, modern way of packaging Python modules and applications.  The /opt installation method was also standing in the way of Gate One being included in several Linux distribution repositories.  For these reasons (and a few more) Gate One will now install itself like any other Python module in your site-packages directory.  See below for individual/important notes.
Changes to defaults:
 * The 'user_dir' option will now default to /var/lib/gateone/users
 * The 'log_file_prefix' will not default to /var/log/gateone
 * The 'settings_dir' will now default to /etc/gateone/conf.d
 * The 'pid_file' will now default to /var/run/gateone.pid (even though I know this will result in more support requests)
 * The 'keyfile.pem' and 'certificate.pem' will now default to /etc/gateone/ssl/{keyfile.pem,certificate.pem}
Gate One now requires Tornado version 3.1+.  This is changed from requiring 3.0+.  The reason for this requirement is the use of the new 'group=' keyword argument that is being used with calls to `define()`.
NEW 'gateone' SCRIPT:  The `setuptools.setup()` 'entry_points' option is now being used to automatically generate a 'gateone' script that will be installed in the default $PATH and can be run from anywhere on the system.  I hope to eventually replace this with a 'gateonectl' script which will provide fine-grained control over the gateone.py process(es).
NEW APPLICATION/PLUGIN HOOK:  Applications and plugins can now add CLI options to the 'gateone' command by adding a 'commands' dict (applications) or to the hooks dict (plugins).  This mechanism was added because the logical location for logviewer.py is inside 'applications/terminal' but that's a very inconvenient location for a command-line script (that also happens to be used as a module in the logging plugin).
NEW "gateone command":  You can now call gateone (or server.py) with 'termlog' and it will be equivalent to running 'logviewer.py' directly.  Try it:  gateone termlog /path/to/some/.golog # NOTE: Only works if your settings are proper
setup.py:  If an existing /opt/gateone directory is found it will copy your settings directory to /etc/gateone, preserving the existing locations for things like the user_dir, log_file_prefix, and whatnot.
RENAMES/MOVES:
    gateone.py has been renamed/moved to core/server.py
    utils.py has been moved to core/utils.py
    golog.py has been renamed/moved to core/log.py
    go_async.py has been renamed/moved to async/async.py
    gopam.py has been renamed/moved to auth/ctypes_pam.py
    pam.py has bee moved to auth/pam.py
    sso.py has been moved to auth/sso.py
    auth.py has been split up and moved to auth/authentication.py and auth/authorization.py
logviewer.py has been moved into the 'applications/terminal' directory.
Lots of __init__.py files were placed throughout the 'gateone' directory structure in order to facilitate the new filesystem layout and also allow things like plugins to be importable without having to add them to `sys.path`.
server.py:  The SESSIONS global has been relocated to 'gateone/__init__.py' so that it may be more easily shared amongst all applications/plugins.
server.py:  Fixed a bug with Python 3 where you'd get a MemoryError exception inside `ApplicationWebSocket.open()` around line 1770.  This should close issue #331 (https://github.com/liftoff/GateOne/issues/331).
app_terminal.py:  Moved 256colors.json and fallback_bell.txt into the 'static' directory.
app_terminal.py:  Modified to use the new SESSIONS global.
utils.py:  Added an exception check when minifying JavaScript (apparently slimit can have issues in Python 3--I'll see if I can fix them and submit another patch upstream).
terminal.js:  Added the '✈terminal_pre' class to the '<pre>' element that most stuff inside terminals gets wrapped in.  Related to this, aded that class to `GateOne.Utils.getRowsAndColumns()` inside gateone_utils_extra.js to ensure everything lines up.
terminal.js:  Added a BIG ASS WARNING in regards to a *very old* Firefox bug that is impacting people's ability to copy & paste.  I tried to work around it many different ways but all failed.  Go vote for this bug:  https://bugzilla.mozilla.org/show_bug.cgi?id=116083
terminal.js:  Fixed a number of bugs related to terminal scaling when rows/columns are explicitly set by the user (everything related to `GateOne.Terminal.alignTerminal()`).
terminal_input.js:  Fixed a transient/harmless exception that could appear in the JS console when you press a key after the last terminal has closed but before `GateOne.Terminal.Input.disableCapture()` gets called (it's really a very short time window but not impossible).
remote_syslog.py:  This file has been removed since it is no longer used.
sso.py:  Fixed a bug where you'd get an `UnboundLocalError` exception if something went wrong during Kerberos authentication.
gateone.js:  Fixed the bug where sometimes you'd get no applications listed in the New Workspace Workspace if the page loaded slow enough.
utils.py:  Fixed a bug in `gen_self_signed_openssl()` where it was always placing the keyfile.pem in the current working directory instead of the path specified via the 'keyfile' setting.
ssh_connect.py:  Modified to work in python 2 and 3 without requiring conversion via the 2to3 tool.
Terminal HTML plugin:  Fixed a bug that was causing exceptions (related to regular expression matching) in Python 3.
Documentation:  Updated to reflect the new module names/locations of things and rebuilt.
Init scripts:  Modified to use the new auto-generated 'gateone' script instead of a hard-coded path to gateone.py.
Bookmarks plugin:  Removed bundled html5lib.  It has been added as a global dependency in setup.py.
Terminal themes:  The '✈terminal pre' CSS has been changd to '✈terminal_pre'.
NEW INIT SCRIPT:  Added an init script for openwrt.  It isn't used by setup.py (yet) but I'm sure it will prove useful to some folks (yes, Gate One runs on OpenWRT just fine!).
Convenience plugin:  Fixed a couple of bugs that got introduced when it was switched over to "use strict".