Added new custom dialog for SmoothNeighbours algorithm

Refs #7441
Checkpointing work to perform a rebase

Refs #7441
Make ContaintsRectDetectors deal with situations when instrument does
not have sample or source.

Refs #7441
Move previous value getting logic to separated method.

Might be useful when we need to get previous value, without setting it.

Refs #7441
Added mapping between group names and group box widgets.

In that way we can e.g. hide some group widgets, as is done in
SmoothNeighboursDialog.

Refs #7441
Implemented hiding of unrelevant parameter group in the dialog.

Refs #7441
Made use of automatic intrument type determination.

Refs #7441
Done some refactoring

Refs #7441
Added helper method to create a workspace with cylindrical instrument.

Refs #7441
Added description of how detector IDs are assigned

Refs #7441
Updated tests to use automatic instr. type determination

Refs #7441
Made the dialog work properly for workspace groups.

Refs #7441
Merge remote-tracking branch 'origin/feature/7441_use_auto_rect_detectors'