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.
TEIIDDES-1518: Refactor teiid plugin

* Rename and move teiid plugin to its own directory in the codebase.
  This teiid plugin becomes org.teiid8