Feature/blame history follows moves

The blame/annotate feature is extremely helpful for code archaeology and figuring out why a line of code was written, but the history shown ends whenever a file is moved or renamed.

This pull request adds support for tracking file history all the way back to when the file was created. Moving or renaming a file won't cut off the revision list.