Add our own Changes parser based on CPAN::Changes

CPAN::Changes aims to provide a specification for Changes files, which
might not be exactly what MetaCPAN wants. For now we steal most of the
CPAN::Changes framework, but replace the parser itself with one that
is a bit more relaxed.
Switch to use our own Changes parser
Support nested Changes entries in HTML

This is a bit of a hack, based on our own Changes parser, that looks for
`-` and then interprets that as a nested change. Will need adjustments later