Patch Set 3: Looks good to me, but someone else must approve; IP review completed

I'm reasonably happy with the code at this point.  It produces  a format Wayne seems to find acceptable.  I wish the committer data from Gerrit was a bit cleaner to load and process, but that will take some work on the Gerrit side to make exports easier.