Stop the SWT thread calling clear children in the teiid view

* A deadlock is possible when the refresh thread is trying to
  display the master password dialog (via the SWT thread) and
  the SWT thread is trying to clear the current
  TeiidResourceNode's children (blocked by the synchronized
  blocks).

* Rather than the SWT thread doing any clearing at all, set a
  simple flag instead, causing the node to have a reload job
  scheduled instead. That way the node is cleared before reload
  but on the reload job thread instead.
TEIIDDES-152 Added varargs and null-on-null extension properties to function and relational MEDs
TEIIDDES-1536 Moved server manager section to own appendix
Fix resource node adapter errors

* TeiidResourceNode
 * Wrong logic for hasChildren()

* TeiidResourceNodeAdapterFactory
 * If child is an error then it cannot be cast so must return
   null instead
Remove references to Assertion and AssertionUtil

* Replaces references with CoreArgCheck
Refactor and merge util classes in legacy plugin

* org.teiid.designer.legacy includes util classes duplicated in
  org.teiid.core.designer.

* Moves classes to core plugin and merges duplicate classes
Replace calls to CorePlugin with CoreModelerPlugin

* Replaces remaining calls to teiid class CorePlugin with designer class
  CoreModelerPlugin
Replace calls to teiid utility classes

* Replaces calls to EquivalenceUtil and ExternalizeUtil with designer
  classes
Replace teiid logging calls

* Replaces calls to teiid classes, eg. LogManager, with designer class
  equivalents
Remove calls to teiid exception classes

* No need to keep calls to these exceptions since catch statements can use
  Exception instead
Replace calls to teiid classes

* Base64
* ReflectionHelper
* LRUCache
 * Bring class over from teiid replace calls to teiid library version

* Remove references to ObjectConverterUtil and replace with designer code
Add version of TeiidURL to designer

* Class taken from teiid codebase

* TeiidURL used in limited locations but necessary but not important enough
  to force dependency of teiid plugin.
Remove pointless import

* No need for import as only used in a comment
TEIIDDES-1518: Remove references to AdminApi

* ExecutionAdmin
 * Confine the admin field
 * Add additional API methods so the teiid server (and other classes) can
   delegate appropriately
TEIIDDES-1518: Change TeiidServer.getAdmin to connect

* Refactors the getAdmin method to connect in preparation for its changing
  purpose and minimising its use
TEIIDDES-1518: Reduce exposure of TeiidServer's ExecutionAdmin

* Make the TeiidServer's ExecutionAdmin object completely private to
  TeiidServer.

* Mirror the main methods of ExecutionAdmin in TeiidServer and
  delegate them to the ExecutionAdmin internal field

* Creates IExecutionAdmin interface to allow different implementations
  of ExecutionAdmin further down the line
TEIIDDES-1518: Remove ExecutionManager class

* Class is no longer used.
TEIIDDES-1518: Confine the use of VDB class

* Since the VDB class will be version dependent, confine its use to
  implementation classes of a teiid 8.0 client, ie. ExecutionAdmin
  and TeiidVdb

* Tries to avoid referring to TeiidVdbs where possible but if
  necessary uses the interface ITeiidVdb instead.
TEIIDDES-1518: Remove pointless use of AdminException
TEIIDDES-1518: Confine the use of Translator class

* Since the Translator class will be version dependent, confine its
  use to implementation classes of a teiid 8.0 client,
  ie. ExecutionAdmin and TeiidTranslator.

* Since TeiidTranslator wraps the version dependent Translator,
  the interface ITeiidTranslator is used externally.

* The PropertyDefinition class is also version dependent and forms
  part of the TeiidTranslator API. To address this a version
  independent TeiidPropertyDefinition rewraps all the values of the
  property definition.