Not a big fan of this method in its current incarnation, since it makes leaks really easy (like in our usages below).

How about:

```objc
- (void)gt_performBlockWithTemporaryStringArray:(void (^)(git_strarray array))block;
```

This ensures that the lifetime of the `git_strarray` is generally bounded. Though the caller can always mess that up by saving the object out of the block, that'd be their own damn fault.

I also changed it from a pointer, because `git_strarray`s are not typically allocated as independent objects on the heap, judging by libgit2. We can just put the structure on the stack, dynamically allocate the strings, call the block, then free the strings inside with `git_strarray_free`.

I think our newer categories are using `gt_` as their prefix (rightfully so, IMO). Let's standardize on that.