Issue #1 Improve performance for large java file (and large code bases)

Fixed performance issue: the AggregateASTVisitor should only delegate to methods declared by the delegate visitors to avoid unnecessary AST visits.

AggregateASTVisitor.java:
Added methods analyzeVisitors(), is(), isVisit(), put(), getVisitors(), logFaultyVisitor().
Added visitMap, endVisitMap, preVisit, preVisit2 and postVisit instance members.
In main(), changed the code generation.
For all other methods, called getVisitors() to delegate only to methods declared by visitors.