Add more helpful reporting

This exposed the problem with the Former-Commit footer always firing!
Fix FormerCommitFooter appender so it only appends when necessary

The FCF needs to work out whether the forthcoming commit will have a
different id- seeing as we don't really want to have to build a commit
and evaluate the id for it's bytes, the best way to do this is to
compare the object representation of it contents to see if they have
changed. Iff the commit has changed, we will add a FormerCommitFooter.

NO TESTS!