Fix Lib/.gitattributes file
Add NameConflictException as wrapper for EEXIST native exception
Rename AmbiguousException as AmbiguousSpecificationException
Add InvalidSpecificationException as wrapper for EINVALIDSPEC native exception
Don't try to negate in an attributes file

This is not supported, and newer versions of git will outright refuse
to work with a tree that contains one.

This should keep the intent of the negation it's replacing.
Introduce Blob.IsBinary
Provide access to basic username/password auth for clone
Remove ThreadAffinity from git_remote_set_autotag
Add test repository with merge conflicts
Add IndexContainsUnmergedEntriesException to bind EUNMERGED exception
Bind git_graph_ahead_behind native method

Replace current implementation of Branch.AheadBy and Branch.BehindBy with git_graph_ahead_behind call
Add Ignore support

This PR adds support for the new .gitignore methods in libgit2
Re-enable skipped hard reset test
Update checkout in response to libgit2 checkout changes
Add checkout tests
Checkout branch as snapshot
Add TODO comment
Small documentation fix
Fix some compilation warnings
Enhance checkout test coverage