Added dataSelector field. Refs #8938.
Set data selector properties. Refs #8938.

- It's not possible to simply tie the dataSelector field with the properties. Instead, I set the properties for each (filename/workspace) depending on that chosen by the user.
Merge 'origin/master'. Refs #8938.
Validate dataSelector. Refs #8938.

- Although there is a dataSelector specific validator class (`UserInputValidator`), it is not possible to access it from `MantidQtCustomDialogs`.
Add better message by default. Refs #8938.
Remove unnecessary returns. Refs #8938.
Merge remote-tracking branch 'origin/feature/8938_improve_icat_publish_gui'