Use Trace.WriteLine when directories cannot be cleaned (in tests)

We were previously raising an exception, which meant that there was no way to know if the test was successful or not.
Modify Leaks project configuration to eagerly detect unreleased unmanaged resources

This helps detect errors that are now more visible since libgit2/libgit2sharp#330
Remove useless `GC.SuppressFinalize()`
Fix double instantiation of `ObjectSafeWrapper`
Properly handle unmanaged resources cleanup in Repository constructor
Fix `Diff.Compare()` Obsolete message
Teach `Repository.Diff.Compare()` overloads to report and/or fail upon unmatched pathspecs
Teach `Repository.Reset()` to report and/or fail upon unmatched pathspecs
Teach Repository.Index.Unstage() and Repository.Index.Stage() to report and/or fail upon unmatched pathspecs