BLXVI-142 (8.42) - Added NXPlugin that forces callbacks

This adds an NXPlugin that does nothing except enables callbacks.

Used on I16 as trajectory scan mechanism requires callbacks to be
enabled even though no processing may occur (and changes made for
BLXV-144 (ca2be97) mean callbacks are disabled in this case).
BLXVI-152 (8.42) - Reimplemented __call__ in SHTPDW (xeye and pilatus)

SwitchableHardwareTriggerableProcessingDetectorWrapper stopped
supporting __call__ with the move to NXDetector. Reimplemented to
match other detector implementations.
BLXVI-149 (8.42) -JS.getCurrentScanInformation returns null if no scan

Refactoring for GDA-6005 (commit 7223170) caused a behaviour change to
JythonServer.getCurrentScanInformation, causing it to throw a
NullPointerException if had not yet been a scan. Restored previous
behaviour of returning null in this case.

I16 run into this due to their use of NXDetector (they use a wrapper
class that manually calls NXDetector.atScanStart etc in response to the
pos command).
Merge branch 'gda-8.42', remote branch 'i16-beamline/gda-8.42' into gda-8.42
Merge remote branch 'i16-beamline/gda-8.42' into gda-8.42