Changes functions to use buffer numbers not files

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.