Added 'tags' to .gitignore
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.
Changes functions to use buffer numbers not files (#208)

Buffer numbers are unique, regardless of the file name. Whis way, when
doing things like setting buffer variables and manipulating the signs,
we can keep track of the correct buffer to modify without having to look
at the filename. This is important for correctly dealing with symbolic
links, because we have essentially two filenames for any given buffer if
the user opens a symlink.