Reverse the order in which the native handles are being released
Add Repository.ObjectDatabase.Contains()

Introduces as well the ObjectDatabase namespace which provides methods to directly work against the Git object database without involving the index nor the working directory.
Add Repository.ObjectDatabase.CreateBlob()
Internally expose the oid of a TreeEntry target
Add new Mode enum
Deploy usage of the Mode enum
Add ObjectId.Zero static property
Add TreeDefinition and TreeEntryDefinition types
Add Repository.ObjectDatabase.CreateTree()
Add TreeDefinition.Remove()
Make TreeDefinition.Add() able to cope with files
Add Repository.ObjectDatabase.CreateCommit()

Partially fixes #127.
Improve documentation related to the creation of Commits
Fix some documentation
Rename Tree.Files property as Tree.Blobs
Marshal structs and constants from diff.h
Marshal the libgit2 diff functions
Add some Diff related test resources
Add tree to tree Diff feature
Fixed a typo.