Adds support for when a symlink file <target> points to another file
<source>, where <srouce> is a file under Git version control.
Thanks to @Z1MM32M4N for work on this (see #209).
Also don't pass buffer number to functions when they can look it up
themselves.
Using buffer numbers also eliminates any ambiguity which might arise
from symbolic links, where you have potentially two names for a file.
Thanks to @Z1MM32M4N for work on this (see #209).