Store insert/deleted line counts along with diffs.

When parsing a diff, we now keep track of the inserted/deleted line
counts and store them in the resulting file info. This is then stored in
the FileDiffData for a diff blob. We'll be able to use this later to
display a nice visualization of how many lines were added/removed.

When accessing line counts for older diffs, the diff will be migrated to
a FileDiffData (if needed) and line counts will be recomputed by
re-parsing the stored diff and pulling out those counts.

Unit tests were added to test parsing these for standard diffs and git
diffs (which does a bunch of custom parsing).