Simplify which implementation

This new verison is based on the original plumbum version.  The main speed boost is
from not enumerating every single file in each directory on the PATH.  We just build
the full path and rely on the OS to tell us if the file exists and we can run it.