Use sys.path to make filename in traceback absolute

With Cython files in particular, the source filename in the raw traceback is relative. Currently, IPython makes them absolute by just prepending the current working directory, which usually leads to nonsense filenames. Instead, we should do what `linecache` does: try all `sys.path` entries (which usually contains the current working directory) to find out the correct filename.