Initial stab at wrapping `git_index_update_all`
Still to be done: complete tests.
Clarify documentation
Use proper casting (when passing in the block) to prevent mangling memory
Continue work on test
The only thing now left is how to get a test repo added, which I have no idea how to do.
Handle multiple string encodings in a GTDiffLine.

Otherwise we’ll have nil content on the resulting line.
Also line->content is not nil terminated, so we should load it into
NSData first, other -initWithData will return nil if the length of
line->content is longer than line->content_len.
return early when we're already UTF8.
Just return the string that we can decode.
Continue work on the `updateEntireIndex` test

Unfortunately this only works locally
Whitespace—
Fix spacing issues
Documentation Fixes
Rewrite test to use fixtures.
Because the test now uses fixtures, we can remove unneeded code.
Delete space
If the block is nil then we shouldn't pass in the callback
Update GTRepositoryStatusSpec to use `updateEntireIndex:` instead of  `git_index_update_all`
Add space back in
Document that all parameters accept nil
Change method signature from `updateEntireIndex:` to `updatePathspecs:`

While we’re at it:
- Change the ordering of the method parameters and block.
- Change block type to BOOL.
- Add a `BOOL *stop` parameter to the block.
Block cannot be nil.
Update documentation