std.os: fix error codes for execve
std.os: fix error codes for execve

execve can return EBADLIB on Linux. I observed this when passing
an x86_64 interpreter path to qemu-i386.

This error code is Linux and Solaris-only. I came up with an improved
pattern for dealing with OS-specific error codes.

andrewrk/zig,andrewrk/zig