ChooseWorkspaceDialog.createUniqueWorkspaceNameMap() finds a unique
short name for a recent workspace path, based on the last segments of
the workspace path. If the recent workspace paths contain duplicates,
the method loops endlessly - the exit condition of the method is that a
unique name is found for each recent workspace.
This change filters duplicates from recent workspace paths in
ChooseWorkspaceDialog. Duplicates in this context are workspace paths
that represent the same location, but are different string-wise due to
superfluous separators.
In addition, an extra exit condition is added to the loop in
ChooseWorkspaceDialog.createUniqueWorkspaceNameMap(), to prevent endless
loops in future.
Fixes: #312
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>