Expose scm::find_executable (for testing)

This is so that tests can use the exact same executable to create the repository, as is used to obtain status (svn repositories created with newer executables are often not backwards compatible).
Let SCM tests use same executable as driver

The was previously only done for the svn tests and the code had some flaws, like modifying the PATH environment variable.