Ensure that identity request variables are UTF-8 encoded

It is critical that the server recieves UTF-8 encoded strings and not
`unicode` instances.  Passing such instances blindly to the `str()`
constructor will result in a `UnicodeDecodeError` being raised.
Add support for OMERO_SESSION_DIR environement variable

With this commit, having OMERO_SESSION_DIR set should allow all CLI commands
to default to another sessions directory than the default one.
Suppress the session-dir argument help and expose the envvar
Fix extended help to use OMERO_SESSIONS_DIR
Add unit tests for sessions store directory
Fix OMERO_SESSION_DIR help indentation
Merge remote-tracking branch 'origin/develop' into omero_session_dir

Conflicts:
	components/tools/OmeroPy/src/omero/cli.py
Fix flake8 warnings
Rename 'Launch Full Viewer' button
Rdef menu 'Set Owner's' moved to last item
Don't allow zoom < 0
Z/T sliders red -> white
Add Full-range, Imported etc buttons to Image viewer
Invert order of optional session arguments and environment variables
Test case for proper unicode encoding when using gateway
Merge pull request #3041 from will-moore/preview_panel_3

Preview panel 3
Fix flake8 errors
Merge pull request #2994 from chris-allan/fix-password-encoding

Ensure that identity request variables are UTF-8 encoded
Merge pull request #3032 from sbesson/omero_session_dir

CLI: add OMERO_SESSION_DIR environment variable