Re #6552. Use workspace pointers instead of names.
Re #6552. Remove redundant code.

The Algorithm base class deals with adding the output to the ADS.
Re #6652. Small improvements.

In the end it wasn't correct to change from using the workspace name,
but I made a couple of improvements - use the InstrumentValidator and
improve the test and make it more efficient.
Re #6552. Turn ParentWorkspace property into a WorkspaceProperty.

Don't know why it wasn't one in the first place.
This allows removing some unnecessary stuff in the algorithm itself.
Re #6552. Remove redundant code.
Re #6552. Use workspace pointers instead of names.
Re #6552. Remove unused code.
Re #6552. Use workspace pointers instead of names.
Re #6552. Remove unnecessary code.

Mostly setting the OutputWorkspace property on a child algorithm.
Re #6552. Remove unnecessary uses of workspace name.

There's no need to set the output workspace name on a child algorithm.
Re #6552. Revert one change.

This broke the MaskPeaksWorkspace test, which wanted to mask in-place.
This seems to be a shortcoming - that you can't make things happen
in-place for child algorithms without using the name.
Re #6552. Use workspace pointers more, names less.

Plus a few other tidy-ups.
Merge branch 'feature/6552_use_workspace_ptr_if_poss' into develop