Refs #9371 Fix error when processing rows
Refs #9371 Fix warning in unit tests
Refs #9371 Refactor ReflMainView flag interface

Before, each flag had its own boolean, and its own method to fetch that
boolean. This was all very well, but then to add a new flag you'd have
to add a new method in every child view, and then handle that method in
every presenter that used the view. You'd also then have to fix every
single unit test for the presenters. It was a bit brittle.

This commit replaces that with a single method `getFlag` which pops the
first flag from an internal queue, a flag now being an enum. The
presenter can check if there are any flags waiting to be processed by
calling `flagSet`.

Presenters just fetch the flags until there are no more, and handle them
as appropriate. Views just add the right flag to their internal queue
when they like.
Refs #9371 Tidy ReflMainViewPresenter processing
Refs #9371 Make ReflMainView::askUserString more flexible
Merge branch 'master' into feature/9371_Refl_MVP_Base_Setup

Refs #9371.

Conflicts:
	Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
Revert Unmerge #9371.

This reverts commit 5954cc9e02d75b966f220c3145dff1dcc442aeca.
Merge branch 'feature/9371_Refl_MVP_Base_Setup' into develop

Conflicts:
	Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt