Separate which tests into test_which.py
Expand on tests/test_which.py

Mainly, regarding os.defpath, os.environ['PATH'],
absolute, relative, and symlinks.
Provide new 'is_exe' function used by 'which'

As noted by bug report http://bugs.python.org/issue14706,

"This is not a Python bug. os.access() is just a wrapper
 around the POSIX access() function"

http://pubs.opengroup.org/onlinepubs/9699919799/functions/faccessat.html

""" If any access permissions are checked, each shall be
    checked individually, as described in XBD File Access
    Permissions, except that where that description refers
    to execute permission for a process with appropriate
    privileges, an implementation may indicate success for
    X_OK even if execute permission is not granted to any
    user.
"""
Make execute permission check more explicit
Merge pull request #70 from pexpect/more-exacting-which

new function is_exe() makes existing which() more correct