create a simple cache for storing model hierarchy lookups
create simple methods in a base class for model hierarchy navigation
create a wrapper for hierarchy navigation using different types
adjust PojosImpl to use hierarchy navigator

this will make changes for ticket 11019 easy to implement
change preprocessor to use hierarchy navigator
adjust do-all for change in preprocessor constructor
update preprocessor test class with latest changes
remove weird rebase artifact
replace local function with third-party library function
Silence org.bushe for imagej
Set OMERO_HOME in processor.py
Passes channel configuration to Make_Movie (see #12036)

Depends on https://github.com/ome/scripts/pull/67 (see #12037)
Set default socket timeout correctly (Fixes #12097)

Python socket timeouts are specified in seconds as floating point.  This
commit sets the default timeout to a more reasonable 3 seconds, allows
the specification of a floating point timeout value, removes the
assumption that the timeout is specified in milliseconds and documents
all of the aforementioned.
Support for configuring the upgrade check URL (See #12097)

This commit adds configurability to the upgrade check URL via the
OMERO.web configuration mechanism.  Upgrade checks in OMERO.web can now
be disabled by running:

    bin/omero config set omero.web.upgrades_url ''
Use existing "omero.upgrades.url" configuration option
Fix sessions.py header
Add CLI/API for passing sudo parameter
sessions.py: Add call to createSessionWithTimeouts
Fix empty string bugs in SessionManagerImpl

Probably since the move to Ice, null strings in the
Principal object have been converted to empty strings
which have failed the various tests for setting defaults.
Record 'omero.sudo' in session file