Support symlinked files (#208)

Adds support for when a symlink file <target> points to another file
<source>, where <source> is a file under Git version control.

Some notes about the modifications:

- To resolve a target link to it's source: resolve(expand(<link>))

- To keep track of buffer information (now that we don't have the
  filename that's associated with that buffer anymore): use buffer ID
  instead of filename.