Add -[GTBlob applyFiltersForPath:error:]

Also included some methods for converting between `NSData` and `git_buf`, which is used extensively by libgit2 to represent chunks of data.

**To do:**

 - [x] Test the `NSData` category
I don't think we shouldn't use `-fileSystemRepresentation` because it always returns precomposed C strings, regardless of how the original path was composed. See https://github.com/libgit2/objective-git/pull/363.