Blame

In progress, needs tests. I'm mainly patterning this after GTDiff.