* bail if new tag does not directly follow previous version
This is to try and prevent typos that could trigger an incorrect version publish into the future that cannot be undone.
refs #4841
* do not bail if tag exists, because it would for real tags
Switching to alpha instead of canary because the semver sorting algorithm is alphabetic and the automated release should always have a lower precendence than manual ones.
Always prefix to the last version even when it's a prerelease so that the ordering is correct, and so that automated alpha releases are able to take precendence over manual ones when new commits are pushed.
Make the prefix `0.alpha` instead of just `alpha` so that it's easy to check if a manual version could be lower than an existing alpha version without dissalowing things like `-rc.0`
See discussion in #2822