Implemented a key and hash to BlitzGateway objects

Added a __key method to BlitzGateway objects
Used the __key method to implement __hash__ method
Refactored __eq__ to use __key
Merge remote-tracking branch 'origin/develop' into connection
merge develop -D org -I include -E exclude: PR 1838 (Connection)
merge develop -D org -I include -E exclude: PR 1905 (Add append/remove subcommands to `bin/omero config`)
merge develop -D org -I include -E exclude: PR 1910 (assist #11675: do not assume sun.nio.ch.DirectBuffer)
merge develop -D org -I include -E exclude: PR 1912 (fix #11094: unify preprocessor test classes)
merge develop -D org -I include -E exclude: PR 1913 (Add 'omero web restart' command for convenience)
merge develop -D org -I include -E exclude: PR 1914 (Add missing parenthesis in omero web help text)
merge develop -D org -I include -E exclude: PR 1915 (fix #11577: have checksum provider list available hashers)
merge develop -D org -I include -E exclude: PR 1916 (Fileset examples fixes 11852)
merge develop -D org -I include -E exclude: PR 1924 (fix #10822: add "local" options to omero.fs.repo.path_rules)
merge develop -D org -I include -E exclude: PR 1925 (Americanization of some UI strings in Insight)
merge develop -D org -I include -E exclude: PR 1926 (big_image_link_xy_11844)
merge develop -D org -I include -E exclude: PR 1927 (fix minor typo in web client)
merge develop -D org -I include -E exclude: PR 1929 (In place import)
merge develop -D org -I include -E exclude: PR 1930 (Fix size of the window. (see #11418))
merge develop -D org -I include -E exclude: PR 1931 (Update develop submodules)
merge develop -D org -I include -E exclude: PR 1934 (Fix deprecation warning for mimetype keyword argument)
merge develop -D org -I include -E exclude: PR 1938 (removing hard-coded link)
merge develop -D org -I include -E exclude: PR 1940 (Moving addClass('failed') as suggested in PR #1839)