Normalize submodule paths on lookup

Fixes libgit2/libgit2#1845
Make probing work from within the packages folder

Fix #515

This aligns the package content to the deployment layout and thus
allows usage of the LibGit2Sharp assembly directly from within the
unpacked NuGet folder.
Update libgit2 binaries to 11f8336

https://github.com/libgit2/libgit2/compare/32e4992...11f8336
Clarified documentation of BranchTrackingDetails

The properties AheadBy, BehindBy and CommonAncestor are not only null if there is no tracking branch; they are also null if the tracking branch is empty (e.g. after cloning an empty repository)
Release LibGit2Sharp v0.14.1
Drop obsolete members after release v0.14.1
Cleanup temporary test repos before each test run
Cleanup FilterBranchFixture test repositories
Update libgit2 binaries to 711333e

https://github.com/libgit2/libgit2/compare/11f8336...711333e
Ensure shadow copying doesn't prevent from probing
Introduce RequiresDotNetOrMonoGreaterThanOrEqualTo() helper
Make RetrieveStatus() reload on-disk index beforehand

Fix #322 and #522
Enforce creation of unborn branch test coverage
Protect Signature creation from components containing '\0'
Protect Signature creation from invalid parameters
Protect Commit creation from message containing '\0'
Protect TagAnnotation creation from name or message containing '\0'
Protect TagAnnotation creation from invalid parameters
Refactor Marshalers
Split Patch and TreeChanges generation

Remove Patch from TreeChanges
Make repo.Diff.Compare() generic