TEIIDDES-1701: Tighten up the checks on resources before refactoring

* The error-checking on resources and their dependents prior to their
  refactoring is inconsistent and error-prone.

* UiUtil
 * Check all workbench window and pages for any editors using the given
   file

* AbstractResourcesRefactoring
 * Removes workbench window field as unnecessary
 * Migrates all check methods to RefactorResourceUtils
 * Introduces abstract checkResource method that should implement all
   checks required on a given resource for the specific refactoring use-case
 * Removes the closeDirtyEditors method due to modification the saving
   function creates separate runnables in their own threads leading to
   problems with synchronisation. Instead, if their are open editors or
   dirty resources, the refactoring bails with a message to the user

* RefactorResourcesUtils
 * Renames the resource callback interface to IResourceCallback and removes
   its mergeStatus method since it should not hold a status object of its
   own
 * Provides abstract implementation of IResourceCallback
 * Introduces check for open editors

* VdbModelEntry
 * Avoid NPE by checking if we have derived a model resource
TEIIDDES-1703: Make it obvious what the delete action will cover

* Places a tree viewer on the 'Are you sure?' dialog box displaying all the
  resources and dependencies that will be deleted by the delete refactoring

* Makes it plain to the user that these resources will be deleted if they
  click ok but can deselect them if they click preview.