Update libgit2 to 3f8d005

https://github.com/libgit2/libgit2/compare/e0383fa...3f8d005
Test for invalid signature config
Add preemptive config null check

libgit2 will throw if you set a NULL value, so we might as well.
Safer email and name validation in Configuration.BuildSignature that checks for null ConfigurationEntry, null value, and empty value.
Prevent creation of a Signature with an empty email
Refactor Signature creation from configuration
Warn when signature cannot be properly inferred from configuration