Ask Git for changes in general; we accept an options argument which
will be passed onto Git, so you can customize by using any of the many
log which Git understands.
Tricky bits: we can't pass Git "", because it won't treat it as non-existent,
so the implementation needs to reflect this.
Ask Git for all changes, since the last tag. Conscientious folks
tag at every release, so this is a good heuristic.
run returns the name of the last tag with '\n' included,
so we use
init to drop the last character and remove '\n'.
Then, we ask git log 'tag-name..', which is its syntax for all commits
since a particular tag. In this case, our tag-name is the last tag, so we're good.