Add abort() method to ChangelogCommand fluent API

The JGit implementation of changelog calculation opens a JGit
repository object and a RevWalk object to compute the changelog.
Those objects open files.  The execute() method closes those opened
files.  Unfortunately, there is a case in GitSCM which does not call
execute().  The objects go out of scope from that call, but the files
remain open, which prevents the workspace from being deleted on
Windows (and leaks file descriptors).

All ChangelogCommand instances need to either call execute() or
abort() before they go out of scope.