add hash code and equals
Merge branch 'master' of ssh://dasc-git.diamond.ac.uk/gda/gda-core
GDA-5479 - Complete previous fix by reset interrupt on current thread
after completing the shutdown work.

The lack of doing so led to junit test not completing as the current
thread waits forever for itself to terminate in shutdownNow.
Merge branch 'master' of ssh://dascgitolite@dasc-git.diamond.ac.uk/gda/gda-core.git
fix bug so that labels can be added
BLXXJ-18 create new EnumPositionerViewer and related classes.

In doing so I have had to add generics to IPositionSource
GDA-5531 enable RotationViewer to broadcast ValueEvents to UI listeners
when the user moves the motor
inform user when an error, and only try to move once per comobo
selection
GDA Protect against NPE
GDA-5491 Add preference gda.default.nxs_hdf5.editor.id for default
Editor of nxs files

Default value is HDF5TreeEditor.ID which is the original SciSoft
NexusEditor
GDA - Add getTitle to metadata_commands script
GDA-5534 if new flag set then two clients with the same user and visit
ID can both hold the baton at the same time
BLXX-144 new Synoptic product based on client application which only shows the Synoptic screen
Merge branch '8.30' of ssh://dasc-git.diamond.ac.uk/gda/gda-core into 8.30
Merge branch 'master' of ssh://dascgitolite@dasc-git.diamond.ac.uk/gda/gda-core.git
Merge remote-tracking branch 'origin/8.30'