TEIIDDES-1697: Refactor the WorkspaceResourceFinderUtil class

* WorkspaceResourceFinderUtil
 * Returns collections of resources rather than arrays since most uses
   simply iterate over the collection
 * Ensures collections have been genericised
 * Fixes missing comments
 * Rather than searching for all possible resources in the workspace,
  ** If a resource is given then use its project as a search limiter;
  ** With no resource paramater, search only open modelling projects and
     to avoid looping twice use a visitor where possible to analyse the
     resources as they are found
 * Improves readability by avoiding large if-clauses
 * Combines 2 versions of getResourcesThatUse (singular and recursive) into
   1 method with a depth parameter