GDA-5863 Replace calls to static ScanBase.checkForInterrupts() with checks for Thread.Interrupted(), ScanBase().waitWhilePaused() and potentially InterfaceProvider.getCurrentScanController().isFinishEarlyRequested()

Added requestFinishEarly() also to this interface.  This replaced haltCurrentScan.



To do:
- GUI changes
- IScriptController.haltCurrentScript is the mechanism for stopping all threads, so should be renamed
- broadcast of scan updates