Closes issue #104 -- cannot execute sudo(8)

Previously, misinterpreted that os.access(file, X_OK)
always returns True on Solaris.  Yes, but only for
the uid of 0. Python issue #13706 closed "not a bug"
reads to "just use os.stat()", so we went to great
lengths to do so quite exhaustively.

But this is wrong -- *only* when root, should we check
the file modes -- os.access of X_OK works perfectly
fine for non-root users.

And, we should only check if any of the executable bits
are set.  Alas, it is true, you may execute that which
you may not read -- because as root, you can always read
it anyway.

Verified similar solution in NetBSD test.c (/bin/test),
OpenBSD ksh for its built-in test, and what FreeBSD/Darwin
for their implementation of which.c.
Add tests for running as root on Solaris, using
'isroot' check.
add to changelog
Merge remote-tracking branch 'origin/master' into issue-104-cannot-exec-setuids

Conflicts:
	doc/history.rst
Merge remote-tracking branch 'origin/master' into issue-104-cannot-exec-setuids

Conflicts:
	pexpect/__init__.py
uninstall ptyprocess before install in runtests.sh
Merge remote-tracking branch 'origin/master' into issue-104-cannot-exec-setuids
Comment on the cause for 'group executable' == no
Merge pull request #106 from pexpect/issue-104-cannot-exec-setuids

Issue 104 cannot exec setuids