The motivator is `ShellExecute`, currently it searches for executables first relative to the current executable, then relative to the current working directory; whereas it should only search in the current working directory.
While trying to fix that, I found some related bugs in `FindExecutable` and `PathResolve`.
-- v7: shell32: Rely solely on SHELL_FindExecutable for ShellExecute. shell32: Fix FindExecutable search path. shell32: PathResolve should remove trailing dot. shell32: PathResolve should be able to find files that already have extensions. shell32: Make sure PathResolve can find files in the current directory.