Ability to merge release back to develop

This preserves the correct version when merging a release back into develop.

There are some behavioral changes as shown in the edited tests:

The behavior of the +n CommitsSinceTag metadata is changed to actually represent the commits since last tag. This means that this number gets reset to zero on change of PreReleaseTag. For instance, version 1.0.0-beta.1+5 gets reset to 1.0.0-beta.2+0 for the next commit after the 1.0.0-beta.1 tag). When only one tag is present, (i.e. the first tag in the release branch) it reverts to the previous behavior which is to indicate the number of commits since the creation of the release branch.