Do not use EOF macro in generated code

= The current code depends on the fact that EOF is #define EOF -1 is some standart C headers
= While generated enums use EOF_TOKEN
= Moreover EOF(-1) is signed value while LA an other methods return ANTLR_UINT32, this cause plenty of compiler warnings
= Moreover clang++11 refuses compile code like this:

    switch(this->LA(1)
    {
    case EOF: // -1
    ...

This patch sets EOF_TOKEN = std::numerical_limits<ANTLR_UINT32>::max()
All generated local varibles are of type ANTLR_UINT32 (instead of int)
Generated conditions use EOF_TOKEN instead if pure EOF
Experimental feature - reuse CommonTree tokens
Share the same instance of CommonTreeStore between all delegated grammars
missing header
more verbose logging
.gitignore add MSVC files
ASTLabelType cleanup PartI
disable gcc warning -Wno-unused-local-typedefs
ASTLabelType cleanup PartII - TreeType* => TreeTypePtr
Add SmartPtrType trait
Clang compile error fix
createToken returns CommonTokenType* rather than std::unique_ptr<typename CommonTreeAdaptor<ImplTraits>::CommonTokenType>

PS: leaks anyway
AA
toStringTree rewritten into C++
ASTLabelType is SmartPtr<>
Use std::move when assgning rule return variables
another simple but non-trivial grammar
another simple but non-trivial grammar
ASTLabelType progress
rulePostProcessing