Move to maven.
Minor refactoring: add some comments, minor renames.
 refactoring: repackaging.
Executable jar.
Minor cleaning. Extract common visitors part.