Creates SQLStringVisitor with unit tests

* Turns off visitor creation in the generators since the visitors are only
  geared towards one implementation of the parser

* Single abstract visitor class for visiting complete with annotations
  and check method for ensuring version compatibility with respective AST
  nodes

* Accompanying tests for both version 7 and 8 SQL String Visitors
Further abstract the parser and visitor unit tests

* Given that the tests will be used for further visitor and parser related
  testing, abstract the tests to a general superclass, implementing the
  helpTest methods as per the requirements of the individual category of
  tests
Adds cloning functionality to AST nodes

* All nodes should be able to clone themselves hence new clone method on
  each class.

* Tests added to ensure cloning is properly implemented.
Refactors Constant classes to fetch words depending on teiid annotations

* SQLConstants
* ProcedureReservedWords
 * Adds a teiidVersion parameter to each of the static constant methods
   so that the correct words are returned for the given version of teiid

* QueryService
 * Adds the teiid version to the constructor rather than each method
Introduces Alter children

* Originally considered not worth it as using a type in Alter seemed to
  serve its purposes. However, in order to conform to the spi we really
  should have AlterTrigger, AlterView and AlterProcedure
WIP