Fix regression that skipped commits with no messages

The changes to dynamically allocate the commit title changed to order in
which commits are created to only add the commit once a commit message
title has been found. When a commit does not have any commit message the
commit need to be flushed before the next commit is parsed or when the
log ends.

The regression was found in Git's repository, where commit
296fdc53bdd75147121aa290b4de0eeb3b4e7074 has no commit message.
Simplify the install goal and rename $(PROGS) to $(EXE)