Refs #10349 Rename processRow → reduceRow

Let's increase clarity here. Reducing is running
ReflectometryReductionOne. Stitching is running Stitch2D. Processing is
reducing AND then stitching.
Refs #10349 Allow non-contiguous selections
Refs #10349 Add numRowsInGroup method

This method counts how many rows there are in a particular group.
Refs #10349 Warn when user tries to partially process a group
Refs #10349 Change selectedRows container to set
Refs #10349 Add setSelection method to ReflMainView
Refs #10349 Add expandSelection action to Refl UI
Refs #10349 Unit test selection expansion
Refs #10349 Resolve cppcheck warning
Refs #10349 Check for partial group processing early

We don't want to do any loading/validation/autofilling before we've
checked for partial processing of a group/
" + ex.what(), "Error");
Refs #10349 Use a set of rows instead of vector

In this case, std::set is more appropriate than std::vector.
Merge remote-tracking branch 'origin/feature/10349_stitch_processing_warning'