chg: More linear commit history

Instead of retrieving the git log ordered by date, retrieve the log as a difference between tags to produce a more accurate view of changes between releases.

For instance, imagine this git graph:

* 6c0fd62 (HEAD, tag: sprint-6, origin/smoke, smoke, develop)
*   5292a28 Merge back to develop
|\
| * 6612fce (tag: sprint-5.1, origin/master, origin/HEAD, master) super important hotfix
* | 7d6286f more development work
* | 8c1e3d6 continued development work
* | fa3d4bd development work
|/
* ec1a19c (tag: sprint-5)

Previously, commits fa3d4bd, 8c1e3d6, 7d6286f that occurred on the develop branch before the hotfix that led to tagging 'sprint-5.1', were captured in the changelog under release 'sprint-5.1' because of the order of the commits. But it is obvious that these commits were not included in a release until 'sprint-6'. The new method of calculating the changelog will capture this and reflect it properly, assigning those changes to 'sprint-6'.
chg: Build history from newest to oldest @minor
new: dev: Regression tests for tag linear-ness