consider generating changelog based on commit messages

Note: some/many people keep a clean history in their default branch by squashing commits. In this case, these commit messages can make up the changelog.

Also, consider support for various conventions (or make it easy for a user to define their own).

Examples of some conventions:
- [Node.js Commit Message Conventions](https://github.com/joyent/node/blob/master/CONTRIBUTING.md#commit)
- [AngularJS Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit?pli=1#heading=h.4a9jrkze4u4a)