refs #7664. Update ClearUB to provide a DryRun mode.

Also add output property indicating the action taken or to be taken.
refs #7664. Refactor ClearUB to make it generic.

In order to fix a work around issue reported #7809, the HasUB algorithm functionality needs to be in a separate algorithm where the workspace is direction input, and not inout. However, most of the processing for this is common to both algorithms.
refs #7664. New algorithm HasUB.

New algorithm called HasUB formed from the generic parts of ClearUB. Tests added.
refs #7664. Remove HasUB aspects from ClearUB alg.
refs #7664. Changes to the algorithms.

Give better logging. Especially useful if someone wants to run HasUB via MantidPlot.
refs #7664. Update the UI components for new behaviour.

This hooks the UI into the new algorithms. The menu will now use HasUB to determine if the workspace has any UB matrixes, and update the clear options appropriately, this includes handling of workspace types that are not compatible with ExperimentInfo, such as table workspace. The Clear UB option is disabled until HasUB reports otherwise. The Clear UB option should execute the ClearUB algorithm.