Diff stat API

This proposes two new APIs `Rugged::Diff#stat` which works as `files, additions, deletions = diff.stat` and `Rugged::Diff::Patch#stat` which is `additions, deletions = patch.stat`

I was mostly interested in the `diff.stat` API because it internally uses `git_diff_foreach` which is still the least expensive way to traverse all the text diffs of an entire `git_diff_list` without having to instantiate too many intermediate objects. I included `patch.stat` just for the sake of parallelism in the API design. In both of these cases, since I was going for performance, it seemed best to return the results as an array instead of requiring multiple calls. I don't know if that is too different from the rest of the Rugged API.

I also fixed a few compiler warnings I was getting regarding intermixing `size_t` and `int` data. I'm not a regular Rugged contributor, so I'm not sure if that's appropriate or not. I'm happy to drop that commit or separate it out if that is more in keeping with the practices of Rugged development.