Fix NPE in ChangeLogSyncVisitor when no ChangeLogSyncListener is given

I encountered this NPE while I was writing integration tests for the MarkNextChangeSetRan Ant task. Since the visitor has two constructors, one with a listener argument and one without, the listener is an optional argument and can't be relied upon to be a non-null reference. The visit method was always expecting a listener reference to exist causing the NPE.
To fix I wrapped the listener usage in a null check. I wrote a couple of unit tests to recreate the exception and then fixed the issue and verified the tests passed.