chg: dev: typos and comments. !minor
fix: removed hypothetical memory exhaust while parsing ``git log``.

Parse stdout as it's produced by git log by chunks.
new: dev: support to provide unlimited revisions for ``.log()``.
chg: produce a more linear commit history (fixes #14)

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'.
new: added ``include_merge`` option to filter out merge commit.