Bug 443181 - Missing diff in log response for file creation

JGit sometimes initializes RevCommits only partially for performance
reasons, and one has to explicitly retrieve the missing attributes
with a RevWalk if needed. This was done in Commit#getDiffs() for
the parent of the given RevCommit, but not for the RevCommit itself.

This patch adds a RevWalk#parseCommit() call in the constructor of
the Commit data object, which is called in case the "parents"
collection of the passed in RevCommit is empty.

Change-Id: Iece7ff2a6585ca3093fdbe298907e38d6fc250e9
Signed-off-by: Michael Ochmann <michael.ochmann@sap.com>
Bug 443181 - GitLogTest#testLogNewFile()

Test for log command on a commit with a file creation.

Change-Id: I596fa785fac9b899415096cf99801e65a8bc1e28
Signed-off-by: Michael Ochmann <michael.ochmann@sap.com>
Bug 443181 - Commit#getDiffs() should release jgit objects properly

JGit objects like TreeWalk, RevWalk and DiffFormater all have
a release() method that should be called in order to free resources
and locks, especially in the case of failure.

Change-Id: I99a677850db8e9f3427c17663c807c6aa28f9944
Signed-off-by: Michael Ochmann <michael.ochmann@sap.com>