initial support for AST construction - Java target used as an example
const correctness in ST and runtime "libs"

also some methods were renamed
more const correctness and method naming conventions
1st functional version of AST construction
Cleanups - StringTemplate warnings removed(ANTLR compilation cleanup) - rule return members initialized
- Fix g++ compile error - Fix for SH's comment on commit 77d8914 same code used for LEXER and PARSER
Do not set ANTLR_USE_64BIT on WIN32 - fixes mingw build
CommonTree API reflects Java CommonTree API
RewriteRule* API reflects Java API
CommonTreeAdaptor API reflects Java API
Do not generate return structs twice when using scope variables
Move lexer/parser members into header file

Note: this patch was inspired by crazyjul's patch