make before_release trigger during release (and others)

In v0.1.0 of `Dist::Zilla::Plugin::NextVersion::Semantic`, the `before_release` method never runs because the plugin doesn't consume the `Dist::Zilla::Role::BeforeRelease` role.

This pull request includes a test for the problem and a fix, and resolves [[rt.cpan.org #84744]](https://rt.cpan.org/Ticket/Display.html?id=84744).

**Update:**  It seems that I haven't quite mastered pull requests, and some other commits for unrelated things have made it in as well.  This pull request now also addresses issues raised in [[rt.cpan.org #84359]](https://rt.cpan.org/Ticket/Display.html?id=84359).