Speed up repeated unsuccessful symbol lookups using an external tool

If the external tool fails to return debug symbols, cache the
failure instead of re-invoking the tool when debug symbols are
requested for the same module in the same run of minidump_stackwalk
Fix passing of module names to external symbol fetchers on Windows

On Windows, CodeModule::debug_file() may return the full path to
the module from the system where the binary was generated.

On the symbol server however, only the basename of the file
is used. Strip the directory path from the module name and
escape the binary name (in case it contains spaces etc.) before
passing it to popen().

MD-20322