Load from blame cache on last commit that modified a path

Walk the history of a blob until we find the last commit that modified
that path. This should increase cache hits by not caching blame
results for lots of commits that don't modify the path.

This does come at some cost, but usually one step of logging a path
should be a negligible proportion of the total blame cost. And for
those files that take a very long time to blame, the increased cache
hit rate (and to a lesser extent smaller cache size) should more than
make up for the cost here.

Change-Id: I760cfdf9529d7042241aa170262a601cb3073e95
1 file changed