refs #7541. Fix problem with early exit.

This handler loops through the property dialogs looking for other property dialogs that correspond to input workspaces. If the loop finds an input workspace, then it immediately assumes that the workspace is suitable and exits the loop. The code block then may find that the workspace name returned is empty, but it's too late the loop has been exited, so there's no opportunity to inspect the rest of the properties. Fix is to apply the check for an empty workspace name within the loop.
refs #7541. Use candidate list.

Construct a list of candidate workspace properties, then filter those to find a preferred one.
refs #7541. Change collection type.
Merge remote-tracking branch 'origin/feature/7541_replace_workspace'