Add diff.stat and patch.stat APIs
Fix compiler warnings

On my system, size_t and int cannot be used interchangably.
Fix diff stat for unmodified / untracked files

Since libgit2 allows you to generate a diff that includes
unmodified, untracked, and ignored files, we have to be careful
to skip over those when calculating diff stats.

This adds tests for this case and also a test for the base case
of simulating "git diff <sha>" that needs to use a merged diff
between the tree, the index, and the working directory.  That case
did not seem to be covered by the existing tests and it is an
interesting one because the expected results can come from running
Git on the command line.
Clean up Rugged::Diff::Patch line stats APIs

This removes the #additions, #deletions, and #context APIs from
the patch object in favor of the #stat API, plus it adds a new
API Rugged::Diff::Patch#lines that yields the total lines in the
whole patch including context.  Using that, the context value is
still available via `patch.lines - patch.changes`

The tests are updated to cover all these APIs.
Merge pull request #266 from libgit2/diff-stat

Diff stat API