Call Goal with the process working directory temporarily changed to the
directory that contains the source file of Module. The original working
directory is restored after Goal succeeds, fails, or throws.
Fails if Module has no associated source file.