Don't require a repository to initialize GTDiff
Use instancetype in GTDiff constructors
Remove GTDiffDelta.diff

Provide its initializer with everything it needs to build a patch, so
we don’t have to explicitly hold onto the diff.
Add methods for building diff deltas out of data
Revert "Don't require a repository to initialize GTDiff"

This reverts commit 533abcd7ba2b7c411207fa67b844e5aad9f94eb6.

Conflicts:
	Classes/GTDiff.m
Use a block to obtain the git_diff_delta

This way, if the binary flag gets flipped on a delta after generating
its patch, we’ll see that change.
Merge remote-tracking branch 'origin/master' into diff-buffers

Conflicts:
	ObjectiveGitFramework.xcodeproj/project.pbxproj
Use UTF8String instead of fileSystemRepresentation
Add blob <> blob diffing too
Fix target membership for NSData+Git
Return empty NSData for empty git_buf
Pointers how do they work
Test blob-to-blob diffing.
Test data-to-data diffing.
Test blob-to-data diffing.
++libgit2
Merge branch 'master' into diff-buffers
Merge pull request #377 from libgit2/diff-buffers

The Hardest Buffer to Buffer