Remove some C target relicts in Cpp target
- fixes lexer member functions
- fixes fragment alias inside lexer rule
Avoid compilation warnings when no scopes are defined
Generate msynpred method if and only if synpreds are present

- fixes compile error on g++ in cases when the Lexer
  contains cyclic DFA
Source code indenting fixes
Gokul's runtimme library added
typename fix
Fix invalid code generated for synpred fragments
Remove some ST warnings when compiling the grammar

These chages were inspired by the Java target
Brief names for rule return types
Signed contributors.txt
StringTemplate warnings removed(ANTLR
 compilation cleanup)
Do not generate return structs twice when using scope variables
Lexer tests added
Simplify rule label initializations
Rule return type - member initializations fixes
Move context into beginning of the Parser class

Fixes compile error when @context contains nested class declaration.