Linux: support broader range of distros/architectures by trying to load packed native libraries.
Linux: support broader range of distros/architectures by trying to load packed native libraries.

LibGit2Sharp includes a number of native libraries that are built on different OSes.
These native libraries have a dependency on OpenSSL and the system c-library.

On x64, in case the Linux flavor is not known, a fallback is performed to the 'linux-x64' native library.
This library is built with a dependency on OpenSSL 1.0.
OpenSSL 1.0 is deprecated by OpenSSL 1.1, so on more recent version of Linux, the 'linux-x64' library fails to load.

On arm64, native libraries are currently included for debian.* (OpenSSL 1.1) and ubuntu.18.04 (OpenSSL 1.0).
Loading on other distros will fail.

In both cases LibGit2Sharp is probably including a library that works, but the default resolution logic
is not able to find it.

By using the 'NativeLibrary' class (.NET Core 3.0) we can extend the resolution logic, and try to load
the other native libraries that are packed with LibGit2Sharp.

PKRoma/libgit2sharp,libgit2/libgit2sharp