Enhance ICU version scan (dotnet/coreclr#9993)
The scanning that tries to find locally installed ICU version was not
considering the case when only ICU library files with major version
component were present (like libicuuc.so.52). This is a rare case that
I've seen so far only when people built and installed ICU manually.
But it is worth to add checks for such case as a fallback, which is
what this change does.
I have also added checks for minorVersion and subVersion being -1 when
trying to detect the symbol versioning used. While the pre-existing code
would still work fine, it would unnecessarily try nonsensical version.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c60ce7d4b1c438ecd034fdc5456697c5805e850