chg: Produce a 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'.
fix: PEP8 violations and spelling @minor
Merge branch 'fix/pep8'
new: Option to disable only traversing the first parent
new: Option to use a git version string instead of user's unreleased version string.
Merge branch 'feature/generate_unreleased_version_string'

Conflicts:
	gitchangelog.py
	gitchangelog.rc.reference