Refs #9711. Refactored PoldiMerge to use MergeRuns

Consequently, WorkspaceGroups can be handled now as well.
Refs #9711. Instruments are compared as well now.
Add a SampleShapeValidator type

It is used for checking that a workspace has a valid sample shape.
Refs #10169
Add unit & performance test for V3D::rotate.

Refs #10169
Fix doxygen warnings in SampleShapeValidator

Refs #10169
Improve performance of V3D::rotate.

Avoids instantiating two additional matrices for the calculation.
Refs #10169
Checkpoint CalculateMSVesuvio

Refs #10169
Add code for calculation of first scattering.

Refs #10169
Check point CalculateMSVesuvio

Refs #10169
Finished off algorithm. Needs further testing.

Refs #10169
Refs #10194 create files
Futher debugging on Vesuvio MS calculation.

We now get something that looks like a distribution but it doesn't
match the VMS output yet.
Refs #10169
Add error in tof to Vesuvio resolution parameters

Refs #10169
Fix a few more bugs in calculation.

1. Use resolution parameter for generating initial tof
2. Use correct coordinate system for generating random scatter direction.
Refs #10169
Fix error in operator precedance when calculating scatter length

Refs #10169
Fix bug in e1 range determination.

Refs #10169
Fix bug in binning data to final workspace.

Refs #10169
Re #9891. Added EvaluateMDFunction algorithm.
Re #9891. Unit test.
Refs #10194 basic implementation of nxtomo file saving alg