Handle SemVer sorting correctly in the changelog generator

The shell changelog generator worked fine, but didn't sort correctly: RC
versions were sorted after, not before, their parent.  (In part because SemVer
is a human focused version sort, and it is actually hard to find a portable
shell implementation of that sorting.)

This replaces it with a small Ruby script that does the same work, but allows
me to implement a SemVer-correct sorting routine.  It is kind of ugly, because
the logic is ugly, but it works correctly now.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>