Re #8074. Making CalFile optional.

Checks for whether it is empty and not grabbing workspaces. Filled in
the check for grouping workspace before diffraction focussing. Also
did a bit better checking on CropWorkspaces.
Re #8074. Made MaskDetectors and AlignDetectors optional.
Re #8074. Moving code from header to source.
Re #8074. Only pass the reqiored arguments to EditInstrGeom.
Re #8074. Refactored SetInstrumentGeometry and added a CompressEvents.
Re #8074. Added progress bar AlignAndFocusPowder
Re #8074. Don't edit instrument without grouping.
Merge remote-tracking branch 'origin/feature/8074_alignandfocus'