Fix #45 :Handle relative paths in `run-program`
This is basically the solution proposed by Elias Pipping with a few minor tweaks.
run-program, don't merge
programwith the "path:" search-list.
spawnwill handle this.
spawn, if the first call to execve fails, instead of trying "/bin/sh", use "/usr/bin/env" which will use the user's PATH if necessary to find the program.