Includes unit tests for the query parser

* Unit tests taken from teiid and added in to test both version 7 and
  version 8 parsing. Tests that are universal are added to the abstract
  parent test class whilst tests only applicable to each version are added
  to the respective version test classes.
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.
WIP