1. Use [towncrier][1] to generate release notes/CHANGELOG instead of
auto-generating it from git commit messages.
2. Move release scripts into a Justfile.
3. Only regenerate the top-level README file when making a release,
don't force it to be up to date in between releases.
Point 3 helps prevent documentation for unreleased changes from being
shown to users on GitHub, which may otherwise be confusing.
[1]: https://towncrier.readthedocs.io/en/stable/index.html#