Fix crash when blaming commits for which changeset isn't cached

Apparently a somewhat rare case, since the code was completely broken.

Two issues:

 1) 'repository' is undefined (use 'commit.repository' instead)

 2) createChangeset() returns an array, not a single Changeset object.
    When called to create a changeset for a single commit (non-merge)
    commit like this, the length of the array is always 1.