TEIIDDES-1565: Remove unnecessary modules and dependencies
TEIIDDES-1565: Apply eclipse configuration to project

* Project and classpath configuration settings

* External tool builder for auto-generating the parser from the jj template

* Libraries copied in by maven for compilation of sources. Versions are
  stripped to allow build.properties to include them in the runtime

* Reconfiguration of pom xml to use tycho, auto-generate parser while in
  eclipse and build as a single plugin project rather than separate modules

* Provides initialise script for auto-building project dependencies

* The project requires both the TP and spi plugin to be installed into the
  maven local repository, even though the builder is not compiling but
  only adding libraries and source files.

* To make this easier for other developers, have the eclipse builder call
  the initialise script.
TEIIDDES-1565: Fix clone methods

* Instead of returning generic Object, return the correct class
TEIIDDES-1565: Modifies enumerators to use spi versions

 * References replaced with designer spi statics and enums
  * CompareCriteria statics
  * MatchCriteria.MatchMode enum
  * AggregateSymbol.Type enum
  * SetQuery.Operation enum
  * ElementSymbol.DisplayMode enum
TEIIDDES-1565: Replace reference to FunctionLibrary statics with enum

 * Uses the spi IFunctionLibrary enum rather than statics. To avoid too
   much disruption to the teiid codebase, allow the text to be accessible
   using a text() method

 * Since the IFunctionLibrary enum support an equalsIgnoreCase method, turns
   around equalsIgnoreCase tests to avoid using the enum's text() method
TEIIDDES-1565: Prepare Mapping nodes to interface implementation

* To avoid the need for too many generics on the xml mapping node
  framework, this modifies the node classes to stop returning the instance
  itself or the method's parameter.
TEIIDDES-1565: Modify the visitors in preparation for their spi interfaces

* The teiid visitors use convenience static methods, which cannot be added
  to interfaces. So add instance methods to the visitors using the find
  prefix and let the statics use these methods. These methods can then be
  added to the spi interfaces.
TEIIDDES-1565: Add the spi interfaces directly to the teiid classes

    * Removes the intermediate designer impl wrapper classes and directly
      adds the spi interfaces to the engine language and visitor classes.

    * The CrossMetadataQueryInterface remains due to the fact that designer
      creates its own implementations of the IQueryMetadataQueryInterface
      which cannot be cast to teiid's QueryMetadataQueryInterface. Using the
      IQueryMetadataInterface in the teiid code would be too much of a
      disturbance to the codebase hence the Cross class conveniently keeps
      the transition in one location.

    * A corollary to using the CrossMetadataQueryInterface is that the wrapped
      versions of UpdateValidator, QueryResolver and Resolver must remain since
      their methods have the MetadataQueryInterface as a parameter.