GDA - Protect against null archive in LivePlot data
GDA - Add waitUntilEmpty to ScanDataPointPipeline
ScanBase - wait for scanDataPointPipelien to empty before calling
atScanLineEnd
GDA - remove recently added waitUntilEmpty method on
ScanDataPointPipieline

Rather leave PositionCallableProvider to ensure enough information has
been read from the hardware in atScanLineEnd and atScanEnd.
GDA Core NXDetector - add callReadBeforeNextExposure and
requiresCacheBackedPlugins method to NXCollectionStrategyPlugin and
NXPlugin
GDA Core - Add adapter of NXPlugin whose callReadBeforeNextExposure
returns true to one that return false.
GDA Core - Implement synchronization within WaitForCompletion
GDA-Core Implement callReadBeforeNextExposure and
requiresCacheBackedPlugins
GDA Core NXDetector - handle plugins that callReadBeforeNextExposure
returns true
GDA-Core checkForInterruptsIgnoreIdle now checks for pause
GDA - Core. Add property gda.scan.clearInterruptAtScanEnd.

If not set or is False then 
 - checkForInterrupts does nothing if the ScanStatus is IDLE
 - checkForInterrupts sets ScanStatus to IDLE if interrupted flag is
   true 

If set to True then:
 - in runScan interrupted is set to false

The intention is to test the behaviour and then switch to it if OK
GDA Core - WaitForCompletion should not abort if scan interrupted is set


This method is called on  the ScanDataPointPipeline thread, not the scan
thread.
GDA Core - rename new methods in NXDetector interfaces
requiresAsynchronousPlugins and supportsAsynchronousRead
GDA Core - Replace NonStreamingNXPluginAdapter with PositionQueue
GDA Core - Further tidyup of variable names during review
GDA Core - Split up NXPlugin into an interface hierarchy
GDA Core - undo addition of waitForCompletion as this has led to a
thread hanging
GDA Core - if clearInterruptedAtScanEnd then ignore ScanStatus when
setting interrupted
GDA Core - Handle atScanEnd properly

call additionalPLugins before collectionStrategy as the latter will turn
the camera off possibly before the other plugins have received all the
images
Wait for last callable return to be called before closing down plugins
Merge remote-tracking branch 'origin/8.34'