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.
TEIIDDES-1565: Stop maven building quite so frequently

* Only generate the libraries and SQLParser after a clean rather than
  doing an auto build. Slightly less frustrating.
Fix generics of ReturnStatement object

* Since IReturnStatement now implements IAssignmentStatement, fixes
  the generics of the class implementation
TEIIDDES-1568: Modify hierarchy of Mapping Nodes

* With introduction of IMappingBaseNode to spi, hierarchy of nodes
  adjusted accordingly.

* MappingBaseNode
 * Addition of addChildNode method, which is the only 'add' method
   accessible via the spi interfaces. Introduced because it collects
   together all the other methods, minimizing generics and doesn't break
   existing addChild method.
Provide 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.
External builder error as project_loc error is invalid

* Seems this error can be empty and will not work in certain building
  circumstances
TEIIDDES-1571: Create ProcedureService implementation

* Add a ProcedureService to the runtime client and add the SQL Statement
  for the teiid metadata file info
TEIIDDES-1571: Add TeiidXmlFileinfo support to ProcedureService

* Add the SQL statement to the ProcedureService, generated for XML file
  models.
TEIIDDES-1571: Add wsdl SQL statement methods to the ProcedureService

* Due to the loquacity of the SQL generation, the statement generation has
  been broken out into helper classes.
Correct the ExecutionAdmin plugin id
Define mergeVdb method into the ExecutionAdmin in accordance with the spi

* Merge method necessary for satisfying spi but should not be used in 8+
  servers so unsupported accordingly.