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
Remove a 1.8 <> 1.9 shim.
Adjust to libgit2 changes
Add 2.1.0 to .travis.yml

Ruby 2.1.0-preview1 was released today. Even though it'll still take
some time until a final version is released, we can already make sure
that rugged will be compliant from day one.
Merge pull request #267 from libgit2/arthur/add-2.1-to-travis

Add 2.1.0 to .travis.yml
Revert "Add 2.1.0 to .travis.yml"

This reverts commit 50236d641c4ba7760c3f34bc2fe3ff9ef141f789.
Remove the `_GET` function suffix.
Change `Rugged::Tag.create` to be a bit more friendly.

This also drops the functionality for creating a tag from a raw string.
Correctly report the class when inspecting ref subclasses.
Split Rugged::TagAnnotation off of Rugged::Tag.

Rugged::Tag is now a subclass of Rugged::Reference.

Tags can now be looked up by their name using Rugged::Tag.lookup.

Rugged::Repo#tags now returns a list of Rugged::Tag objects.
Update the docs.
Add Tag#target and Tag#annotation.
Rugged::Tag.create now returns the created tag.
Fix a test failure. Not sure why I haven't seen this before.
Fix the tag lookup logic, as seen in libgit2/libgit2sharp#498.

Also move the logic to basic C string operations.
Add a test for the tag lookup behaviour.