This way you don't need to upcast a node to eg JavaNode
in order to call the next method to delegate:
```java
visit((JavaNode) node, data) -> visitJavaNode(node, data)
```
This prevents writing `visit(node, data)` and not being
sure what overload is called.
Replace SideEffectingVisitor with JavaVisitor
The new visitor is generic. We don't actually need the
old Object->Object visitor, this could just be the new
generic visitor but erased
Port language level checker
Move delegators
Remove old accept methods
Remove reduced adapter
Cleanup some visitor
Make ant wrapper replace old visitor completely
Doc
Add DeprecatedUntil700 annotation
Add top interface for visitors
Convert JSP visitors
Checkstyle
Fix java module
JJT grammars should mention TRACK_TOKENS=false;
On the java-grammar branch some tokens are adjusted
manually with calls to jjtSetLastToken and deleting
these calls messes that up
Remove a bunch of useless copy pasted goo
* LogUtil
* TemplateParseException
* MacroParseException
* Many methods of AbstractVmNode
Rename ASTprocess to ASTTemplate.