exits process correctly when executable not found

No need for multiple exit/quit statements.  Can generalized to other
command failures.
Paths are now all absolute

HOME and PATH variables doesn't depend on current directory.
This should conclude everything to do with cd, ls, set, HOME and PATH.