git books writes out changelog.md as lower case. We also have the issue
that on Windows file names are case insensitive.
As such we look for both versions given the upper case version precedence.
Runs the release process.
If we are running a dry run we back up key files that we have
to change for the pub.dev publish dry run to work but
which we don't actually want to changes as we are doing a dry run.
At the end of the dry run we restore these key files.
Run pub get to ensure that the project is in a runnable state.
This may result in pubspec.lock being updated and
as we don't allow the project to have any uncommited files
we need to commit it.
It will almost certainly change if we are doing a multi-package
release as the dependencies we are releasing will have their version
no.s changed.