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 comits 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.

There are also two other test that broke, but do not make sense to me. As far as I understand if I tag a commit as 1.2.1-beta.1 it should not change the version to 1.2.1-beta.2 until the next commit after the tag. This confused me in the wiki diagrams as well and does not work the way the current version of GitVersion (installed from chocolatey) works. 

If I tag a certain commit as 1.2.1-beta.1 I am expecting to freeze the version of that commit as 1.2.1-beta.1. So unless I am missing something, these tests seem wrong to me. Please feel free to enlighten me if things should work as specificed in the tests.