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

OK, I'm finally happy with this series.  I'm happy to address reviewer comments, but I think the notes topic implements the low-level stuff we need to get notes working in JGit.

We still need to implement merging of notes branches, because the merge strategy needs to understand the fanout format and deal with one side having fanout where the other side is still at a leaf layout.  But that can come along later... this is at least enough to efficiently read notes produced by C Git, and for Gerrit Code Review to start exporting its review metadata as a notes branch.