Runtime tests generator

This is a new testing infrastructure designed to improve the consistency and test coverage across targets.
The existing test suite, replaced by this PR, comprised pure tooling tests, and runtime ones (the ones that call execLexer or execParser) all in one place. 
The suite has been divided, the tool related tests have been placed in a new package.
The runtime tests have been converted to a template based test suite, where a new tests generator can convert them to runtime tests with the help of a per language target template. 
Because the generator and templates should only exist once (that's precisely the purpose) they need to reside in the tool project.
No change whatsoever has been made to the tool or runtime. This is for testing only.
Currently, the generator covers Java, Python 2, Python 3, NodeJS and Safari. 
(needless to say all the tests pass)
More to come.