(CFACT 70) make uname return value conform to posix standards

Before this patch, we used to compare the `uname(...) != 0` for failure.
However posix only states that uname(...) returns a non negative value on
success, and returns -1 on failure. This patch changes the comparison to
`uname(...) == -1` for failure. This was also necessitated by the behavior
of solaris which returns a nonzero value on success.

This commit also deletes the previous solaris/kernel_resolver since the
patch makes this kernel_resolver identical to posix.