improve source file lookup
1) the assumption that compilation directory always is the right prefix
for relative pathnames turned out to be false.
for example an app might be compiled from top-level dir and compiles
sources in src/.
2) if file is not found, and path relative, go through sources list
again and check whether one of the sources ends with "/" + filename.
3) call "info sources" again only when everything else fails, as it might
produce a huge list (including libc source file names) and is slow to
process. in one case i noticed lag of several seconds.