Fix for issue 1607

Instead of always using a regex to try to match the native-names keys
when doing a get-os or get-arch call, use a get-with-pattern-fallback
function to first try the exact match and only if that fails, use
get-by-pattern.  This prevents matching "x86_64" with "x86" when
"x86_64" is the better match.
Merge pull request #1609 from rogerallen/issue1607

Fix for issue 1607
Merge remote-tracking branch 'upstream/master'