Correctly handle symlinked files.

If a file is accessed via a symlink the relative path
can be in a format not usable for git blame.

/gitroot/Some/File -> /data/gitroot/Some/File

If the file is opend via the symlink (buffer-file-name)
would return "/gitroot/Some/File" but top-dir would be
"/data/gitroot/Some/File". This then leads to a relative
file path like "../../../data/gitroot/Some/File" instead
of just "Some/File" which cannot be handled by git blame.