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.

This fixed the issues I've been having with odd native lib failures on Mac OS X (see https://github.com/overtone/shadertone/issues/25 but I've been seeing other, similar random failures for a little while now).

I ran bin/lein test
Ran 166 tests containing 582 assertions.
0 failures, 0 errors.

This is my first pull request, so if I'm doing something wrong or if the code has issues, just let me know.