BLXV-111 (8.38) Add collection strategy decorator system.

This allows you to build composite collection (triggering) strategies by
adding one or more collection strategy decorators to an existing collection
strategy.

Create a MerlinColourModeDecorator so that the correct number of images
is returned by getNumberImagesPerCollection().

Create an AbstractCollectionStrategyDecorator for easily making new
collection strategy decorator classes.

Add a new CollectionStrategyBeanInterface and implement it on
AbstractADTriggeringStrategy so that almost all existing collection
strategies can be decorated.

Create an UnsynchronisedExternalShutterDecorator to silently extend
detector acquisition time for beamlines where detectors are not
synchronised with their shutter or axis.

Deprecate SingleExposureUnsynchronisedExternalShutter and
MultipleExposureSoftwareTriggerAutoModeUnsynchronisedExternalShutter
as you can now decorate MultipleExposureSoftwareTriggerAutoMode or SingleExposureStandard with UnsynchronisedExternalShutterDecorator.
Merge remote-tracking branch 'origin/8.38' into 8.38