GDA (8.34) Fix racecondition in metadata scannable in atScanEnd() that can cause metadata not to be written during very short/quick scans
Merge branch '8.34' of ssh://dascgitolite@dasc-git.diamond.ac.uk/gda/gda-core.git into 8.34
BLXVIB (8.34) - BLBXVI-40 DummyMotor implements Unit String
Merge branch '8.34' of ssh://dascgitolite@dasc-git.diamond.ac.uk/gda/gda-core.git into 8.34
Make TwoDScanPlotter.intensity protected, so TwoDScanSwingPlotter can see it
Minor change to make it easier to debug UnitsComponent.setHardwareUnitString
Prevent error if ScannableMotor has units but the DummyMotor underneath it doesn't

This is a follow up to b32127a. If a ScannableMotor has units set explicitly,
but the DummyMotor underneath it implements MotorUnitStringSupplier and returns
an empty string, the ScannableMotor configuration will fail with:

  The hardware unit could not be set to '' because this is incompatible with
  the explicitely set user unit 'Deg'

The handling of scannable units and motor units is all a bit of a mess, and
needs further discussion.
Update GaussianPeakAndBackground to use scisoft fitting
Merge remote-tracking branch 'origin/8.34'