Throws when HEAD is missing

Fix #351
Revert "Remove useless GC.SuppressFinalize()"

This reverts commit d03bcb995993867f9260f32786ca25d6071d563d.

cf. http://msdn.microsoft.com/en-us/library/ms182269.aspx
Allow commits on any unparented branch
Obsolete IsEmpty property on RepositoryInformation
Unescape build status icon urls
Update libgit2 binaries to eef7e80
https://github.com/libgit2/libgit2/compare/40a6051...eef7e80
Make Diff.Compare consider untracked changes
Use reference counting in SafeHandleBase to ensure git_threads_shutdown() only gets called after the last handle is released (joint work with Sam Harwell)