Moved applySettingsToImages() from webgateway to Blitz. See #10673
webgateway copy_image_rdef_json() uses conn.applySettingsToImages()
Blitz allow non-Admins to apply rdefs

Rendering settings are a 'Annotation' so you only need to have canAnnotate()
permissions to apply them. Also setOmeroGroup(userId) fails if you are
in a read-annotate group regular member using another's images.
webgateway.copy_image_rdef_json can copy/paste to 'session'

If both 'fromid' and 'toid' are supplied (as was required before) then the behaviour of this method
doesn't change. However, if just 'fromid' is given, we save it to the session. Then
if only 'toids' is given we apply from the session['fromid']
Webclient jsTree right-click to Copy/Paste settings
Blitz applySettingsToImages() handles 'dataset', 'plate'
webgateway copy_rdef to_type 'dataset', 'plate'
webclient paste rdefs to 'dataset' / 'plate'
omero_image.html calls refreshThumbnails() on rdef save
refreshThumbnails(imageId) also handles viewport
Image viewer checks for window.opener before refreshThumbnails
Blitz applySettingsToImages() -> conn.applySettingsToSet()
Re-order conn.applySettingsToSet() args to match OMERO API
webgateway uses conn.applySettingsToSet(fromid, to_type, toids)
Merge pull request #1097 from will-moore/copy_paste_rdefs_10673_develop

Copy paste rdefs 10673 develop