Fix returning wrong blob id bug in repo.diff(a, b, *paths)

### Bug

Return wrong blob object when `repo.diff` like this

```ruby
repo = Grit::Repo.new(".")
head = repo.commits.first
base = repo.commits.last

blob = repo.diff(base, head).first.b_blob
# => #<Grit::Blob "0218f96"> 
```

### Fix

Return wrong blob object when `repo.diff` like this

```ruby
repo = Grit::Repo.new(".")
head = repo.commits.first
base = repo.commits.last

blob = repo.diff(base, head).first.b_blob
=> #<Grit::Blob "00dd8a636fd79e9436f792cac68f9d2dd3708399"> 
```