Make `Rugged::Diff` reference their repository.

We need to keep a reference from the diff objects to the repository to
ensure that the underlying libgit2 data does not get freed accidentally.
Merge pull request #394 from libgit2/arthur/diff-should-keep-repository

Make `Rugged::Diff` reference their repository.