WIP: Continuous deployment and delivery versioning mode

As discussed #323 GitVersion should support different versioning modes which can be configured in the GitVersionConfig.yaml.

The modes are continuous deployment and continuous delivery.

As @JakeGinnivan says:
> Continuous deployment means you want each build to have a unique nuget version, continuous delivery means you do not.

At the moment the only difference is the pre-release tag. In continuous delivery the scheme is `<configured tag>.1` or if there is an applicable tag `<last-tag-name>-<last-tag-number>+1`. 
In continuous deployment the scheme is `<configured tag>.<nr of commits>`

What is still open:
- [ ] GitHub flow, how to handle those there?
- [ ] Feature branches, how is the scheme here?
- [ ] Are hotfix  branches "the same" as release branches?
- [ ] Support branches?
- [ ] Maybe find a better place than GitFlowVersionFInder for setting the `CurrentBranchConfig` property or maybe even find a better place for this property  than the `context`
- [ ] Do we need more than just the pre-release tag in the versioning mode?
- [ ] Can code be dropped?

Happy to see your comments and thoughts :smile: